|
Some checks are pending
build-gate / build (push) Waiting to run
Migrating my-upg-100-list onto the shared wall left one behind, and it was not
decoration: clicking the poster preview opened it for printing, a Driver-named
behaviour ("show the poster in the browser to help print it"). I removed it, so
this is a regression I introduced and am closing.
previewAction: 'none' | 'print'. Default 'none' keeps the image inert, which is
exactly what country-posters and key-cities render today.
★ IT IS A KEYBOARD CONTROL, NOT JUST A CLICK TARGET. The original carried
role="button", tabindex="0" and Enter/Space handlers alongside @click. Re-adding
the click alone would have been a half-restoration that LOOKS complete — an <img>
with only @click is unreachable without a mouse, and the focus-visible outline is
how a keyboard user sees where they are on a control that is otherwise a picture.
The alt and title change with the mode too: "prayer poster" and "click to preview
and print" are different promises to a screen reader.
buttons.previewPrintPoster added to all eleven locales in the same change;
check:i18n-parity still reports 0 keys of debt.
VERIFIED AT THE RENDERED LAYER, and exercised BY KEYBOARD rather than by mouse:
100-list (preview-action="print") — 27 previews, is-clickable, role=button,
tabindex=0, cursor zoom-in, translated title, descriptive alt. Focused the image
and dispatched ENTER: 1 print frame opened, 0 downloads, 0 errors, with every
.webp ABORTED so it ran through the rasterise fallback.
country-posters (default) — 174 previews, is-clickable false, role null,
tabindex null, original alt. Inert exactly as before.
That completes the consolidation: my-upg-100-list 890 -> 179 lines, and all four
walls now render from one 633-line component with nothing left unported.
|
||
|---|---|---|
| .. | ||
| slots | ||
| PosterDialog.vue | ||
| PosterPreview.vue | ||
| PosterWall.vue | ||
| README.md | ||
library/components/poster/ — poster export UI
The dialog and preview surfaces that turn a live map into a printable poster. Used by
research-map.vue.
PosterDialog.vue ← pick size, orientation, title → export
PosterPreview.vue ← live preview, updates as you change settings
PosterWall.vue ← grid of poster previews
slots/ ← the composable regions of a poster (own README)
fed by useMapPoster() · sizes from constants/posterSizes.js
- Open/close state comes from
inject('uiStore'); the preview is fed byuseMapPoster(). - Page sizes:
library/constants/posterSizes.js. Defaults:library/constants/posterDefaults.js.
Full wiring + slot contract: ../../../documentation/architecture/components.md.