docling-studio/frontend/src/shared
Pier-Jean Malandrino 72669f5fa8 feat(#263): DocWorkspacePage shell — Linked/Inspect/Compare switcher
Replaces the previous 3-tab strip (Ask / Inspect / Chunks) with a
top-right view switcher per the 0.6.1 mockup. The switcher renders
three buttons; Compare is intentionally disabled until 0.9.0 ships
the diff view.

DocMode union shrinks to { 'inspect', 'linked' } — only the modes
that render a tab today. The legacy 'chunks' mode value is renamed
to 'linked' to anticipate the upcoming Linked view refactor (T3);
?mode=chunks remains accepted as a backward-compat alias in parseMode
so existing bookmarks keep working.

'ask' is dropped from the workspace per ADR #259 (Ask moves out of
the doc workspace and is handled separately via the standalone
/reasoning page). The askMode feature flag is preserved in the
registry so the existing reasoning surface stays gateable; it is no
longer part of modeFlags() which now returns { inspect, linked }.

DEFAULT_MODE shifts from 'ask' to 'linked' (the mockup's default
view). MODE_PRIORITY drops to ['linked', 'inspect'].

DocWorkspaceHeader gains an `actions` named slot, used by the
workspace page to inject the switcher inside the sticky header,
matching the mockup layout.

i18n cleanup:
- adds workspace.tabs.linked, workspace.tabs.compare,
  workspace.compareSoon
- removes workspace.tabs.ask, workspace.tabs.chunks, and the obsolete
  workspace.{askComingSoon,inspectComingSoon,*Hint} placeholders
- renames breadcrumb.mode.chunks -> breadcrumb.mode.linked and drops
  breadcrumb.mode.ask

DocAskTab.vue is kept on disk (no longer imported by the workspace)
to avoid touching reasoning-related code in this refactor — its
removal, if any, is the call of the separate Ask-handling track.

Tests:
- modes.test.ts asserts the new isDocMode/parseMode behaviour including
  the chunks->linked alias
- resolveMode.test.ts targets the 2-mode priority
- router.test.ts covers both ?mode=inspect and the chunks->linked alias
- feature-flags/store.test.ts asserts modeFlags() returns { inspect, linked }
2026-05-11 16:30:46 +02:00
..
api feat(#251): expose backend error detail in apiFetch errors 2026-05-05 09:38:39 +02:00
breadcrumb feat(#208): doc workspace breadcrumb (Studio > <doc> > <mode>) 2026-05-05 09:38:39 +02:00
composables Add reusable pagination composable and PaginationBar component 2026-04-02 13:41:50 +02:00
routing feat(#263): DocWorkspacePage shell — Linked/Inspect/Compare switcher 2026-05-11 16:30:46 +02:00
storage refactor(audit): remediate 0.5.0 audit findings — clean architecture, security, DRY, SOLID, perf 2026-04-29 14:00:00 +02:00
ui feat(#209): rework sidebar nav (Home / Docs / Stores / Runs / Settings) 2026-05-05 09:38:39 +02:00
appConfig.ts fix(decoupling): eliminate cross-feature imports and add typed health endpoint 2026-04-10 13:11:29 +02:00
format.test.ts feat(#211): E3 — Document library (/docs), filters, bulk actions, multi-file import, StatusBadge 2026-05-05 09:38:39 +02:00
format.ts feat(#211): E3 — Document library (/docs), filters, bulk actions, multi-file import, StatusBadge 2026-05-05 09:38:39 +02:00
i18n.test.ts feat(#257): surface gating via STUDIO_MODE + RAG_PIPELINE master flags 2026-05-11 16:18:34 +02:00
i18n.ts feat(#263): DocWorkspacePage shell — Linked/Inspect/Compare switcher 2026-05-11 16:30:46 +02:00
types.ts feat(#225,#224): vocabulary rename index→ingest + stale stores strip 2026-05-05 09:38:39 +02:00