- wallet/invoices.tsx: table of invoices with download link; uses role-specific API prefix; handles loading/empty states
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- wallet/buy.tsx: createResource fetches /api/packages?role= instead of hardcoded bundles
- packages.tsx: replaced stub with real package list from API; shows type badge, price, tracecoin amount
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- DashboardLayout.tsx: fully runtime-config driven sidebar nav using
MODULE_NAV_MAP, role switcher, guided tour spotlight overlay, responsive
mobile drawer
- auth.ts: hardened JWT access token handling, httpOnly cookie refresh flow
- guided-tour-content.ts: expanded per-role tour steps for all modules
- gateway.ts: improved proxy with Set-Cookie forwarding for refresh token
- onboarding/complete.ts + schema.ts: refined onboarding completion flow
- login.ts + register.ts: cleaner error handling and response forwarding
- dashboard/index.tsx: role-based KPI cards from runtime-config
- jobs/index.tsx: status filters, post job action gated by requiresJobApproval
- marketplace/index.tsx + [id].tsx: leads browsing with tracecoin hold display
- requirements/index.tsx + [id].tsx: post requirement with profession-specific
conditional fields, budget/timeline/mode, resubmit support
- portfolio/index.tsx: CRUD for photographer portfolio projects
- services/index.tsx: service management for marketplace professionals
- applications/index.tsx: jobseeker applied jobs list
- notifications.tsx: all/unread tabs, mark read, deep link routing
- settings.tsx: change password form
- wallet/index.tsx + ledger.tsx: tracecoin balance and transaction history
- onboarding.tsx: multi-step onboarding form with profession branching
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>