docling-studio/frontend
Pier-Jean Malandrino be51105aaa feat(#208): doc workspace breadcrumb (Studio > <doc> > <mode>)
Adds the breadcrumb anchoring the user across modes on the doc
workspace. Empty / hidden on routes that don't opt in.

Components
- shared/breadcrumb/AppBreadcrumb.vue: data-driven, accessible
  (<nav aria-label>, <ol>, aria-current=page on the leaf).
  Renders nothing when crumbs.length === 0.
- shared/breadcrumb/types.ts: Crumb = LinkCrumb | LeafCrumb
  discriminated union.
- shared/breadcrumb/store.ts: Pinia store + useCrumbs(source)
  composable that auto-clears on unmount. Accepts a static array
  OR a reactive ref/computed so pages with async doc fetches can
  rebuild crumbs as data lands.
- shared/breadcrumb/text.ts: truncate(text, max) helper.

Wiring
- App.vue main outlet now sits below <AppBreadcrumb>; the shell
  reads from useBreadcrumbStore so pages don't need teleports.
- DocWorkspacePage provides Studio > <id-truncated> > <mode-label>;
  once the doc is fetched (#216 / E4), the id placeholder will
  swap for the truncated filename.

i18n
- breadcrumb.aria, breadcrumb.studio, breadcrumb.mode.{ask,inspect,
  chunks} added in fr + en.

Tests
- shared/breadcrumb/text.test.ts: 5 cases on truncate.
- shared/breadcrumb/store.test.ts: store actions + useCrumbs reactive/
  static seeding (the lifecycle-clear path is covered end-to-end by
  the integration tests landing in #211 / #216 — the project doesn't
  use @vue/test-utils so a unit test for onBeforeUnmount is overkill).

Refs #208
2026-04-29 17:52:59 +02:00
..
public Update logo with final version 2026-04-02 17:28:22 +02:00
src feat(#208): doc workspace breadcrumb (Studio > <doc> > <mode>) 2026-04-29 17:52:59 +02:00
.prettierignore Add qualityt check and contributing doc 2026-03-21 15:34:54 +01:00
.prettierrc Add qualityt check and contributing doc 2026-03-21 15:34:54 +01:00
Dockerfile Refacto and add cp paste btn 2026-03-21 15:03:10 +01:00
env.d.ts feat(reasoning): reasoning-trace viewer v1 with SQLite-backed graph 2026-04-29 14:00:00 +02:00
eslint.config.js fix: resolve CI warnings (Node.js 20 deprecation + ESLint formatting) 2026-04-08 14:54:56 +02:00
index.html Add logo across navbar, home hero, studio, and favicon 2026-04-02 17:11:31 +02:00
nginx.conf fix: limit upload to 5 MB / 20 pages max and increase conversion timeout 2026-04-07 10:56:16 +02:00
package-lock.json feat(reasoning): live docling-agent runner + UX polish 2026-04-29 14:00:00 +02:00
package.json chore(release): cut 0.5.0 — bump frontend version + complete CHANGELOG 2026-04-29 14:00:00 +02:00
tsconfig.json Migrate frontend in typescript 2026-03-21 15:58:43 +01:00
vite.config.js Add release process, dynamic versioning, and changelog catch-up 2026-04-02 16:08:37 +02:00