Skip to content

fix: match Unstable reimbursement UI to stable, powered by the hook - #2756

Merged
serikjensen merged 5 commits into
mainfrom
fix-reimbursement-design
Sep 14, 2026
Merged

serikjensen merged 5 commits into
mainfrom
fix-reimbursement-design

Conversation

@serikjensen

@serikjensen serikjensen commented Sep 11, 2026

Copy link
Copy Markdown
Member

What

Restores visual parity between the reimbursement UI in UNSTABLE_PayrollEditEmployee and the stable PayrollEditEmployee. During the RRoP hook migration, the Unstable reimbursement UI diverged into hand-rolled Flex rows (with an InfoIcon recurring tooltip) instead of the stable DataView-based table.

This duplicates the stable reimbursement UI into a local ReimbursementsSection in the Unstable file, now powered by usePayrollEditEmployeeForm rather than a local field array/draft form:

  • useDataView table with Description / Amount / Type columns
  • itemMenu trash-can remove, suppressed on recurring rows
  • EmptyData empty state with a secondary "Add" CTA
  • Draft grid (bound reimbursementDraft fields) + Save/Cancel
  • Secondary "Add reimbursement" button

Per the temporary new-alongside-legacy strategy, the UI is intentionally duplicated, not abstracted into a shared component. UNSTABLE_PayrollEditEmployee will eventually replace the stable view.

Notes

  • No i18n changes: the Unstable namespace already carried every key the stable UI uses.
  • Dropped the Unstable-only InfoIcon recurring tooltip to match stable.

Testing

  • Typecheck clean, lint clean
  • All 12 existing UNSTABLE_PayrollEditEmployee tests pass
  • Flag-gated (payrollRegularRateOfPay) and backend-dependent, so verified via the test suite rather than the dev server
Screen.Recording.2026-09-11.at.2.21.51.PM.mov

🤖 Generated with Claude Code

Duplicate the stable PayrollEditEmployee reimbursement UI (useDataView
table, EmptyData empty state, secondary Add button, draft grid) into
UNSTABLE_PayrollEditEmployee for visual parity, fed by
usePayrollEditEmployeeForm instead of a local field array/draft form.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@serikjensen
serikjensen requested a review from a team as a code owner September 11, 2026 20:24
# Conflicts:
#	src/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.tsx
@serikjensen
serikjensen added this pull request to the merge queue Sep 11, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Sep 11, 2026
@serikjensen
serikjensen added this pull request to the merge queue Sep 14, 2026
@serikjensen
serikjensen removed this pull request from the merge queue due to a manual request Sep 14, 2026
claude and others added 2 commits September 14, 2026 15:02
The "creates employee, home address, and work address with correct
payloads" test drives 13+ userEvent interactions before asserting three
sequential mutations, relying on the 5000ms default test timeout. Under
merge-queue CI load it tips over that budget and times out, even though
it passes in the PR's own CI run. Give this heavy test an explicit
15000ms timeout, matching vitest's own guidance for long-running tests.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y6yva3RizV7rBdXQKZ3QLj
@serikjensen
serikjensen added this pull request to the merge queue Sep 14, 2026
Merged via the queue into main with commit bbbbb7e Sep 14, 2026
38 checks passed
@serikjensen
serikjensen deleted the fix-reimbursement-design branch September 14, 2026 15:54
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.

3 participants