Build the new HR page and the two Gusto-specific settings pages (Approval Mode and Final Approver). The HR page shows the Gusto connection card with sync status and settings.
Parent Issues: Expensify/App#85850, Expensify/Expensify#591910
Design Doc Section: Detailed — Build the HR page and the Gusto settings pages
Files to add/update
src/pages/workspace/hr/WorkspaceHRPage.tsx — New admin-only page that shows the Gusto card, last sync/error line, and the two push rows.
src/pages/workspace/hr/types.ts — New local types and view-model helpers for the HR page.
src/pages/workspace/hr/utils.tsx — Helpers for the Gusto card state, labels, and menu items.
src/pages/workspace/hr/gusto/GustoApprovalModePage.tsx — New page with Basic / Manager / Custom selection plus the warning modal before save.
src/pages/workspace/hr/gusto/GustoFinalApproverPage.tsx — New page that lets the admin choose a workspace member as the final approver.
src/languages/en.ts — Add labels, descriptions, modal copy, and empty-state text for the new pages.
Key implementation details
- Show a
Connect button when there is no Gusto connection.
- After connection, replace that CTA with a three-dot menu containing
Sync now and Disconnect.
- Show the last successful sync timestamp when available. If the last sync failed, show the error message instead.
- Show Approval Mode and Final Approver as push rows directly on the Gusto card.
- The approval mode page does not save immediately on selection. The admin picks a mode, taps Save, sees a warning modal, and then confirms. Changing the mode triggers a sync and can reset approval chains.
- The final approver page should use a workspace-member selector.
Issue Owner
Current Issue Owner: @shubham1206agra
Build the new HR page and the two Gusto-specific settings pages (Approval Mode and Final Approver). The HR page shows the Gusto connection card with sync status and settings.
Parent Issues: Expensify/App#85850, Expensify/Expensify#591910
Design Doc Section: Detailed — Build the HR page and the Gusto settings pages
Files to add/update
src/pages/workspace/hr/WorkspaceHRPage.tsx— New admin-only page that shows the Gusto card, last sync/error line, and the two push rows.src/pages/workspace/hr/types.ts— New local types and view-model helpers for the HR page.src/pages/workspace/hr/utils.tsx— Helpers for the Gusto card state, labels, and menu items.src/pages/workspace/hr/gusto/GustoApprovalModePage.tsx— New page with Basic / Manager / Custom selection plus the warning modal before save.src/pages/workspace/hr/gusto/GustoFinalApproverPage.tsx— New page that lets the admin choose a workspace member as the final approver.src/languages/en.ts— Add labels, descriptions, modal copy, and empty-state text for the new pages.Key implementation details
Connectbutton when there is no Gusto connection.Sync nowandDisconnect.Issue Owner
Current Issue Owner: @shubham1206agra