feat: complete client billing UI and staff benefits display (#524, #527)

- Client App: Built dedicated ShiftCompletionReviewPage  and InvoiceReadyPage
- Client App: Wired up invoice summary mapping and parsing logic from Data Connect
- Staff App: Added dynamic BenefitsOverviewPage tracking worker limits matching client mockup
- Staff App: Display progress ring values wired to real VendorBenefitPlan & BenefitsData balances
This commit is contained in:
2026-02-24 16:17:19 +05:30
parent 98c0b8a644
commit 7e26b54c50
35 changed files with 2038 additions and 199 deletions

View File

@@ -94,6 +94,21 @@ extension ClientNavigator on IModularNavigator {
navigate(ClientPaths.billing);
}
/// Navigates to the Completion Review page.
void toCompletionReview({Object? arguments}) {
pushNamed(ClientPaths.completionReview, arguments: arguments);
}
/// Navigates to the full list of invoices awaiting approval.
void toAwaitingApproval({Object? arguments}) {
pushNamed(ClientPaths.awaitingApproval, arguments: arguments);
}
/// Navigates to the Invoice Ready page.
void toInvoiceReady() {
pushNamed(ClientPaths.invoiceReady);
}
/// Navigates to the Orders tab.
///
/// View and manage all shift orders with filtering and sorting.

View File

@@ -81,6 +81,15 @@ class ClientPaths {
/// Access billing history, payment methods, and invoices.
static const String billing = '/client-main/billing';
/// Completion review page - review shift completion records.
static const String completionReview = '/client-main/billing/completion-review';
/// Full list of invoices awaiting approval.
static const String awaitingApproval = '/client-main/billing/awaiting-approval';
/// Invoice ready page - view status of approved invoices.
static const String invoiceReady = '/client-main/billing/invoice-ready';
/// Orders tab - view and manage shift orders.
///
/// List of all orders with filtering and status tracking.

View File

@@ -79,6 +79,11 @@ extension StaffNavigator on IModularNavigator {
pushNamedAndRemoveUntil(StaffPaths.home, (_) => false);
}
/// Navigates to the benefits overview page.
void toBenefits() {
pushNamed(StaffPaths.benefits);
}
/// Navigates to the staff main shell.
///
/// This is the container with bottom navigation. Navigates to home tab

View File

@@ -72,6 +72,9 @@ class StaffPaths {
/// Displays shift cards, quick actions, and notifications.
static const String home = '/worker-main/home/';
/// Benefits overview page.
static const String benefits = '/worker-main/home/benefits';
/// Shifts tab - view and manage shifts.
///
/// Browse available shifts, accepted shifts, and shift history.