feat(writing): print CSS + keyboard shortcuts

Two DetailView polish items.

Print / PDF (fixes M10's "Drucken / PDF" action):
- New <article class="print-target"> at the top of the route renders
  just the title + current version content. Hidden on screen, only
  visible under @media print so window.print() produces a clean
  manuscript instead of dumping the whole workbench chrome.
- :global(body > *) toggle suppresses the surrounding SvelteKit /
  workbench frame; the .shell + the per-card chrome are explicitly
  display:none in print. @page margin: 2cm gives a readable page
  with no further user setup.
- Body uses ui-serif so the printed prose looks like manuscript.

Keyboard shortcuts (DetailView document-level listener):
- ⌘G / Ctrl+G       → generate / re-generate (was: only the button)
- ⌘⇧S / Ctrl+Shift+S → save checkpoint
- ⌘Z / Ctrl+Z        → undo last refinement (only fires when refineUndo
                       is set; otherwise falls through to the textarea's
                       native undo as the user expects)

Buttons + the undo row carry the shortcut in their title attribute so
mouse-users discover them via tooltip.

i18n baseline +1 for DetailView (the new "(⌘Z)" tooltip suffix counts
as one additional German fragment per the validator's heuristic).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Till JS 2026-04-25 12:10:32 +02:00
parent 7e6fb5b6d1
commit bad935c258
2 changed files with 106 additions and 5 deletions

View file

@ -285,7 +285,7 @@
"apps/mana/apps/web/src/lib/modules/writing/components/StyleForm.svelte": 2,
"apps/mana/apps/web/src/lib/modules/writing/components/VersionEditor.svelte": 1,
"apps/mana/apps/web/src/lib/modules/writing/components/VersionHistory.svelte": 1,
"apps/mana/apps/web/src/lib/modules/writing/views/DetailView.svelte": 6,
"apps/mana/apps/web/src/lib/modules/writing/views/DetailView.svelte": 7,
"apps/mana/apps/web/src/lib/modules/writing/views/ListView.svelte": 3,
"apps/mana/apps/web/src/lib/modules/writing/views/StylesView.svelte": 4,
"apps/mana/apps/web/src/routes/(app)/+page.svelte": 1,