Context
Part of the mobile UI overhaul (PR #190). FileViewer was skipped during PageHeader adoption because it has complex back-navigation logic (dirty checks, fromRoute state).
Task
- Replace the custom header in
FileViewer.tsx with the shared PageHeader component
- Preserve the existing
fromRoute/dirty-check logic in the onBack handler
- Update related tests
Related
Context
Part of the mobile UI overhaul (PR #190). FileViewer was skipped during PageHeader adoption because it has complex back-navigation logic (dirty checks,
fromRoutestate).Task
FileViewer.tsxwith the sharedPageHeadercomponentfromRoute/dirty-check logic in theonBackhandlerRelated