Project

General

Profile

Actions

Feature #141

open
SV SV

[HR][P3] Truth: remove or make real every false UI claim

Feature #141: [HR][P3] Truth: remove or make real every false UI claim

Added by Sravan V S about 2 months ago. Updated 3 days ago.

Status:
Resolved
Priority:
High
Assignee:
Target version:
-
Start date:
09/28/2026
Due date:
% Done:

0%

Estimated time:
Resolved By:

Description

Delete or wire up fake success toasts (Save draft, Request changes, Payroll treatment select), dead/decorative controls, fake attendance Source label and tiles, dashboard cards that show 0 or an all-clear on a failed load. Failed loads become real error states with Retry.

Size: M

Source: clinq-docs/modules/hr/reviews/2026-09-28-ui-audit/ (branch docs/hr-ui-audit-2026-09-28)

Findings covered:

  • C-23
  • C-28
  • C-09
  • C-24
  • C-29
  • C-35
  • C-51
  • C-53
  • B-02
  • B-03
  • B-05
  • B-06
  • B-21
  • B-22
  • B-27
  • A-26
  • A-27
  • A-28
  • A-36
  • A-41

SV Updated by Sravan V S about 2 months ago Actions #1

  • Assignee set to Sravan V S

S- Updated by SK - 13 days ago Actions #2

  • Assignee changed from Sravan V S to SK -

S- Updated by SK - 13 days ago Actions #3

  • Status changed from New to Resolved
  • Assignee changed from SK - to Roshni Harish.
  • Resolved By set to SK -

Fixed and merged to dev on nuvita-hr. Worked from the ticket's own description, verified each claim against current code first (the source audit doc is confirmed permanently lost, see #137).

Investigated all 4 named items, confirmed each against live code before fixing:

  1. Fake success toasts - all 3 named suspects (Save draft on leave-requests/new, Save draft on Training's Add Session modal, Request changes) confirmed genuinely fake, fixed. The Training one was worse than described - a fully dead button with no onClick at all, not even a fake toast. Request changes (LeaveReviewSheet + leave-requests detail) opened a dialog whose "Send back" button toasted success for a status that doesn't exist in the backend - removed the button/dialog entirely (no backend support exists for it). The Payroll treatment select was confirmed decorative (its value was discarded on submit) - rather than disable it, folded the choice into reviewNotes, the one field the approve mutation actually persists, so it now has a real, audited effect instead of being silently dropped.
  2. Dead/decorative controls - covered by the Training dead-button finding above; no other instances found in a broader sweep.
  3. Fake attendance "Source" label - the summary tiles (Present/On leave/Late arrivals) turned out to be genuinely real, contrary to the ticket's framing - no fix needed there. The Source column, however, was confirmed fake: any non-manual record was unconditionally labelled "Biometric" despite zero biometric device integration existing anywhere in the backend. Relabelled "System" in both places it appears.
  4. Dashboard cards showing 0/all-clear on a failed load - confirmed, the most safety-relevant finding. The dashboard page was only reading data/isLoading from its query, silently dropping isError, so a failed load rendered every stat as a real "0" indistinguishable from a genuine empty state. Added the platform's established ErrorState+Retry pattern (ported from nuvita-pharmacy/nuvita-billing's dashboards, which already solved this) and wired it to the ignored isError/refetch.

Flagged, not fixed (found while reading the leave-approval page, not among the 4 named items, recommend a follow-up ticket): a hardcoded "NABH compliance: No clinical block" field and a hardcoded "No NABH credentialing block" line on the Roster-impact card - both static text asserting a check that never actually runs.

Tests: HR frontend 104/104 files, 806/806 tests passed, type-check clean. No backend change was needed for any of the 4 items.

RH Updated by Roshni Harish. 3 days ago Actions #4

  • Assignee changed from Roshni Harish. to Sravan V S
Actions

Also available in: PDF Atom