From 8e081cea4455c59b35945d1b7e2f25601be291ef Mon Sep 17 00:00:00 2001 From: Doxa Maps Date: Tue, 29 Sep 2026 22:18:35 +0000 Subject: [PATCH] UPG-100's and Simple Research's popups show the packet and the card deck UPG-100's info popup lists its Middle East Core poster, then the full packet's 12 pages and the 70-card deck (upg100's pre-generated files). Simple Research shows the same 12 pages, captioned "Example packet: Middle East Core": same renderer, method and 'full' variant, but a UPG-100 zone's data, so it is labelled as an example rather than passed off as a Simple Research selection. --- plugin-designs/doxa-maps-spa/src/tabInfo.js | 22 ++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/plugin-designs/doxa-maps-spa/src/tabInfo.js b/plugin-designs/doxa-maps-spa/src/tabInfo.js index a99b82a64..b970d2a87 100644 --- a/plugin-designs/doxa-maps-spa/src/tabInfo.js +++ b/plugin-designs/doxa-maps-spa/src/tabInfo.js @@ -24,21 +24,30 @@ * button goes to the start (placement 'top-left', which MapInfo resolves to the logical start, so * Arabic mirrors); Gospel's panel spans to 345px of 390, so its button takes the corner above the * zoom column. Measured with the same probe at 390 in en and ar. - * ★ ADD AN EXAMPLE ONLY WHEN ITS FILE IS IN THE TREE. A missing file renders the popup's "not - * available" box in front of the audience; an example that is not there yet is simply left out. + * ★ AN EXAMPLE'S FILES SHIP WITH IT. MapInfo drops an example whose lead image fails to load (quietly, + * title and all), so a link can land before its files; but a popup is only worth opening once they are + * in the tree, so land the two together. * ★ KEYS MUST NOT CONTAIN A DOT beyond the area separator: the gallery has no vue-i18n, so MapInfo * resolves through tStatic, which splits the path on "." and would never find a sentence-shaped key. */ +// The UPG-100 zone's pre-generated packet ('full' variant) and card deck, shot once and shared: Simple +// Research's packet is the same renderer, method and variant (usePosterPrints.printPacket, 'full'), so it +// shows these pages too, CAPTIONED as an example zone, because their data is a UPG-100 zone and not a +// Simple Research selection. +const MEC = 'previews/examples/middle-east-core' +const MEC_PAGES = Array.from({ length: 12 }, (_, i) => `${MEC}/packet-p${String(i + 1).padStart(2, '0')}.webp`) +const MEC_CARDS = Array.from({ length: 70 }, (_, i) => `${MEC}/card-${String(i + 1).padStart(2, '0')}.webp`) + export const TAB_INFO = { 'upg-100': { storageKey: 'upg-100', pos: { side: '56px', narrow: { placement: 'top-left', side: '12px' } }, leadKey: 'mapInfo.tab.upg-100.lead', takeawayKey: 'mapInfo.tab.upg-100.takeaway', - // The packet pages (12) and the card deck (70) join this list when their pre-generated shots land - // in assets/previews/examples/middle-east-core/. examples: [ { kind: 'image', src: 'previews/middle-east-core.webp', full: 'posters/middle-east-core.html' }, + { kind: 'pages', pages: MEC_PAGES }, + { kind: 'deck', cards: MEC_CARDS }, ], }, 'regions-dashboard': { @@ -87,7 +96,10 @@ export const TAB_INFO = { pos: { top: '56px', side: '56px' }, leadKey: 'mapInfo.tab.research-map-plus-grid.lead', takeawayKey: 'mapInfo.tab.research-map-plus-grid.takeaway', - examples: [], + // Its own poster joins when rega's shot is in the tree. + examples: [ + { kind: 'pages', pages: MEC_PAGES, titleKey: 'mapInfo.tab.research-map-plus-grid.examplePacket' }, + ], }, 'prayer-map': { storageKey: 'prayer-map',