feat(ui): implement approved A3 hybrid navigation
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
# A3-IM02 navigation validation and review
|
||||
|
||||
Status: implemented and tested; owner Gate F navigation review remains OPEN before dashboard/onboarding A3-IM03. Foundation Gate F is already accepted, not reopened. See UI-02.md for preserved owners and exact next scope.
|
||||
|
||||
## Fresh scoped evidence
|
||||
|
||||
| Check | Result / scope |
|
||||
|---|---|
|
||||
| Baseline | 15 tests / 3 suites PASSED before navigation edits; BASELINE.json |
|
||||
| New primary-navigation tests | Five expected failures before implementation; desktop preservation case already passed |
|
||||
| Current-route regression | Reproduced drawer staying open; fixed in shared handler; red/green case retained |
|
||||
| Final selected Jest run | 49 tests / 9 suites PASSED; FINAL_TESTS.json. Intermediate32/17 and reviewer11 overlap this total, not extra cases |
|
||||
| Typecheck / lint / production build | PASSED; built static export used API base /api for controlled loopback checks |
|
||||
| Real React screen matrix | 32 conditions: login + Companies × 320/390/768/1440 × EN/NB × light/dark |
|
||||
| Dialog and navigation accessibility | 56 scoped axe sweeps, zero returned violations: 32 complete screen surfaces, 16 company dialogs, 8 mobile More drawers |
|
||||
| Connected browser checks | 16 configurations: primary route selection and heading focus, secondary navigation, collapse persistence or More/Escape/current-route selection, reviewed synthetic company edit/save and phone notification clearance |
|
||||
| Primary routes | All four primary shell destinations visited in each configuration (64 transitions). API-unavailable content states are permitted; this verifies navigation/focus, not successful domain/backend journeys |
|
||||
| Write safety | 16 explicit company PUTs intercepted and fulfilled by local browser fixtures; zero requests reached a backend. Unexpected write methods/paths rejected; no unexpected writes or page exceptions observed |
|
||||
| Captures | 56 PNGs: 32 screens + 8 More drawers + 8 collapsed desktop/tablet + 8 phone notification states |
|
||||
| Preservation census | All 57 inherited groups retained; all 34 inherited route declarations present. Source membership is not complete functional or authorisation acceptance |
|
||||
| Independent source review | No important/critical findings. Conservative extra safe-area clearance noted; native notched-device review still pending |
|
||||
|
||||
The browser lane is the actual built React application, with controlled service responses, not the design prototype. It rejects every external request; 40 existing Google Fonts attempts were aborted. Provider/model/production services were never contacted. Only Companies has a successful synthetic mutation fixture; other core destination content may display honest unavailable-service states. No model was started. Main document/page renderer sources are unchanged.
|
||||
|
||||
During verification, a mistyped translation test path produced a failed harness run (two real suites/eight cases passed); corrected to the existing catalogue/provider files, then final nine-suite run passed. A broad alert selector also matched Next's route announcer; narrowed to the actual Snackbar feedback. These are resolved harness defects, not hidden passing tests. Layout review reproduced broken English labels at320px: content-based flex widths with minimum44px targets fixed them while retaining11px labels and long-text wrapping. The final browser assertions require Dashboard and Applications to fit one line in English.
|
||||
|
||||
No original concepts were regenerated. No route, advanced workflow, permission, document revision, schema, dependency, controller or production configuration was removed. Route declarations are unchanged; navigation grouping is changed deliberately. Existing admin visibility flags, router/legacy redirects, quick search, notification count semantics, desktop storage and ownership disposal remain in their existing owners.
|
||||
|
||||
## Review examples
|
||||
|
||||
- [Phone navigation](evidence/navigation/companies-en-light-320.png).
|
||||
- [Bokmål dark desktop](evidence/navigation/companies-nb-dark-1440.png).
|
||||
- [More drawer](evidence/navigation/more-en-light-390.png).
|
||||
- [Notification above the bar](evidence/navigation/feedback-nb-dark-320.png).
|
||||
- [Collapsed sidebar](evidence/navigation/collapsed-en-light-1440.png).
|
||||
|
||||
Run the installed harness from job-tracker-ui against the current static export on loopback port4338: `rtk proxy node scripts/verify-a3-theme.mjs --navigation`. This mode writes only evidence/navigation; historical foundation artifacts stay unchanged. SOURCE_MANIFEST.json binds final source, native reports, captures and exported assets. Historical foundation source hashes remain bound to bdd1de0d, not falsely reused as new navigation results.
|
||||
|
||||
NOT RUN: real database/backend workflows, hosted CI, real identity/mail/job providers, AI models, physical PDF/container requalification, native screen reader/touch/software keyboard, actual browser zoom, native-language review, final integrated security or release-readiness acceptance. Those gates remain separate. Full A3 UI/UX implementation is not complete.
|
||||
Reference in New Issue
Block a user