The UPG-100 poster wall warms on intent too: opening a card's Prayer List or Card Deck chooser starts the people groups and, for the packet, the zone sheet's boundaries and engine

This commit is contained in:
Doxa Maps 2026-10-03 17:06:30 +00:00
parent 454bfbef33
commit 2cb506108c

View file

@ -194,6 +194,14 @@ async function fetchListRecords(list) {
// drawn in the browser for the poster print and the packet's page 1 — data/zone-sheet-print.js, the one
// helper every UPG-100 surface prints a zone through.
const zoneSheet = makeZoneSheet({ allRecords: () => recordsFor.all(), assetsBase: () => assetsBase.value, profileConfig })
// ★ WARM ON INTENT (the shared PosterWall's prewarm): opening a card's Prayer List or Card Deck chooser starts the
// people-groups list (the cached provider every print here reads) and, for the packet, whose page 1 is the zone
// sheet, that sheet's boundaries and engine. Never on browsing alone; a failed warm is retried by the print itself.
function prewarmPrint(item, which) {
if (!API_BASE || !item) return
recordsFor.all().catch(() => {})
if (which === 'packet') import('@map/packet/posterSheets.js').then((m) => m.warmSheet && m.warmSheet(assetsBase.value)).catch(() => {})
}
// The wall's own copy. v-html in the shared component, so the <strong> lands as markup —
// the emphasis is the point: praying for them BY NAME is the whole brief.
@ -285,6 +293,7 @@ const wallTag = computed(() => t('messages.upg100WallTag'))
:records="fetchListRecords"
:iso3-names="iso3Names"
:sheet="zoneSheet"
:prewarm="prewarmPrint"
:card-stocks="true"
poster-action="print"
preview-action="print"