Skip to content

Qa fe UI - #77

Merged
bladehell-ai merged 9 commits into
developfrom
qa_fe_ui
Aug 19, 2026
Merged

Qa fe UI#77
bladehell-ai merged 9 commits into
developfrom
qa_fe_ui

Conversation

@bladehell-ai

Copy link
Copy Markdown
Collaborator

No description provided.

abdulhaseeb-qa and others added 9 commits August 19, 2026 11:54
Add minDate/maxDate props to shared DatePicker component and apply
constraints to all 12 date range instances: "to" date cannot precede
"from" date, and "to" auto-resets when "from" moves past it.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… filters

- Filters collapsed by default on time entries page (open on click)
- Manual time entry form requires project, date, start/end time with
  inline error messages (manual validation replaces zodResolver)
- Clicking a table row opens view modal with disabled fields
- View modal has Edit button to switch to editable mode
- Cancel in edit mode returns to view without closing dialog
- Added useUpdateManualEntry hook for editing existing entries

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… footer

- Checkboxes on every row for users with delete or approve permissions
- Header checkbox selects/deselects all visible entries
- Delete button (destructive) appears when entries are selected
- Approve button only shows count of selected pending entries
- Edit button moved from dialog header to footer next to Close

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Date pickers default to empty (show all entries)
- Date filtering only applied when user explicitly picks dates
- Clear filters button also resets date range
- Date range counts toward active filter badge

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Removed Late column (header + cell) from attendance table
- Removed Late Days stats card from summary strip
- Cleaned up unused Clock icon and formatMinutes imports

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Give Status column 40% width to absorb the extra space left by the
removed Late column, keeping the remaining columns compact.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
b5092e3 removed the Late column and the Late Days tile outright, so the
owner and HR lost them too. Put both back behind a `canSeeLate` role check
(`owner` / `hr_manager`) instead, so the people who need the signal keep it
and employees do not see their own lateness.

Also closes a gap the removal left open: the Late badge on the Status cell
still rendered "Late 15m" to everyone, one cell over from the column that
had just been taken away. It now rides the same gate, as does the Late Days
stat tile. All three late surfaces are gated together — hiding one alone
leaks the same number from the others.

Details:
- The stat strip's column count follows the tile count (lg:grid-cols-5 ->
  lg:grid-cols-4) so the grid does not leave a hole; the skeleton count
  matches so the strip does not reflow on load.
- 1c0ae90's `w-[40%]` on Status exists only to absorb the space the Late
  column would occupy, so it now applies only when that column is absent.
- Restores the `Clock` and `formatMinutes` imports, and puts the `Tooltip`
  imports back to use — they were left unused by the removal and were
  raising three no-unused-vars warnings.

Deliberately a role check rather than the `attendance.view_all` permission:
that permission is also held by org_manager and finance_manager, who must
not see it. Trade-off — a custom org role will not match; a dedicated
`attendance.view_late` permission is the configurable version if wanted.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Drops hr_manager from `canSeeLate`, so the Late column, the Late badge on
the Status cell and the Late Days stat tile are now visible to the owner
and to no one else.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…-only

feat(hr): show attendance lateness to the owner only
@bladehell-ai
bladehell-ai merged commit ce3ecbe into develop Aug 19, 2026
5 checks passed
@bladehell-ai
bladehell-ai deleted the qa_fe_ui branch August 19, 2026 08:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants