34 lines
2.0 KiB
Markdown
34 lines
2.0 KiB
Markdown
# JOBS-002 application table and workspace verification
|
|
|
|
Updated: 2026-08-10
|
|
|
|
## Confirmed baseline
|
|
|
|
- `JobTable` owned search, filters, sort and page only in React state.
|
|
- `?open=` opened the legacy quick dialog and was immediately removed from the URL.
|
|
- “Open application workspace” navigated to `/applications/:id`; its Back control always navigated to a fresh `/jobs`.
|
|
- The existing full-page workspace already composes the owner-scoped checklist, intelligence, CV, cover-letter, attachment, correspondence and interview components. It is reused rather than duplicated.
|
|
|
|
## Increment 1 — route-backed overlay
|
|
|
|
- Table row Open now creates `/jobs?workspace={id}` and renders the existing workspace inside an accessible MUI dialog.
|
|
- Workspace sections update `section=` with replacement navigation; opening is a pushed entry, so Back closes and Forward reopens without losing the mounted list state.
|
|
- A direct `/jobs?workspace={id}§ion={section}` opens the requested application and closes by safely removing only workspace query keys.
|
|
- MUI owns focus trap/restoration. The dialog is full-screen below 768px and links to `/applications/:id?section=...` as the full-page fallback.
|
|
- Legacy `?open=` quick-dialog links continue to work; their workspace action enters the same overlay route.
|
|
|
|
## Verification
|
|
|
|
- Focused Jest: `src/application-workspace-overlay.test.tsx` — 2/2 pass.
|
|
- Full frontend Jest: 51 suites and 206/206 tests pass; existing force-exit notice remains.
|
|
- Production build and TypeScript: pass.
|
|
- Evidence: V-158 and V-159 in `docs/audits/verification-log.md`.
|
|
|
|
## Remaining before completion
|
|
|
|
- Persist search, filters, sort and page in the URL and verify refresh/Back/Forward.
|
|
- Add a shared dirty-edit close/navigation guard for workspace sections that own unsaved content.
|
|
- Improve the table's scan-priority data without adding every available field.
|
|
- Add real-browser 375/768/1440, light/dark, keyboard/focus restoration, refresh/history, error and long-content evidence.
|
|
- Run tenant-authorization regressions and the production smoke gate.
|