doxa-maps/plugin-designs/regions-dashboard
Doxa Maps eab8963a20 Regions: two country posters per row on a phone
Reported from a phone: on the Regions tab, "2 posters per row" for the country
posters did not work -- a 390px phone showed ONE per row.

THE CAUSE is a deliberate clamp in PosterWall. The per-row setting is 2, but the
grid is Math.min(perRow, fits) with fits = floor((viewport - 36) / 210), and at
390 that is floor(354 / 210) = 1. So the setting said two and the phone silently
showed one.

★ WHY THE CLAMP EXISTED, AND WHY IT IS SAFE TO RELAX NOW. It was added when a
two-up card (~162-170px) CLIPPED its action labels -- 'Prayer List' and 'Poster
Map' both read 'Pra...', and Romanian's 'Pachet de cartonase' was measured at 54
of 81 controls clipped at ro/390. That was then fixed separately: the labels WRAP
(.pfs > .pbtn, "a label too long for its box wraps"). With wrapping in place the
clamp no longer protects anything; it only costs the phone a column.

★ IT IS OPT-IN, NOT A GLOBAL CHANGE. PosterWall is shared by twelve files,
several of them frozen experimental maps. A new minCardPx prop defaults to 0,
which means the existing 210px clamp, so every wall that does not set it lays out
byte-for-byte as before. Only regions-list sets 150, which gives two per row at
360, 390 and 414, still one at 320 (which genuinely cannot hold two), and no
change on desktop (already capped at the per-row setting of 2).

MEASURED on the regions-list leaf page, this branch served locally, against
FINAL on :4611 -- by hit test and by eye:
  FINAL  @390 en   1 per row, 367px cards
  AFTER  @390 en   2 per row, 169px cards, 0/123 labels clipped
  AFTER  @390 ro   2 per row, 0/123 labels clipped   <- the old clipping corner
  AFTER  @390 ar   2 per row, RTL, 0/84 labels clipped
  AFTER  @1440 en  2 per row, unchanged
0 horizontal overflow and 0 console errors in every cell. The print buttons now
stack three high on a phone card instead of sharing a line.

KNOWN, COSMETIC, NOT CHANGED: at two-up the card's "53 UPG · Show on map" pill
wraps "Show on / map" onto a second line. Readable, not clipped.
2026-09-30 02:33:24 +00:00
..
scripts Keep the reason, drop the speaker, in the four capitalised comments 2026-09-29 10:51:10 +00:00
src One country-sheet definition: the Regions tab's poster was still teal 2026-09-29 20:55:27 +00:00
dxlife-tokens.js Port their base line-height (1.5); our 1.1 override was compensating for its absence 2026-09-26 05:33:12 +00:00
index.html Regions element gets the Select View tabs, shared with UPG-100 2026-09-23 19:08:00 +00:00
index.js Repair what the union resolution duplicated 2026-09-29 16:01:45 +00:00
region-dashboards.meta.json Regions: the selected page is now an exact clone; the chooser is the one addition 2026-09-24 00:59:10 +00:00
region-dashboards.vue The three Regions roots resolve against their own host box, not the page 2026-09-29 14:38:56 +00:00
regions-list.meta.json Regions: the selected page is now an exact clone; the chooser is the one addition 2026-09-24 00:59:10 +00:00
regions-list.vue Regions: two country posters per row on a phone 2026-09-30 02:33:24 +00:00
regions-mfe.meta.json Keep the engineering reason, drop the speaker: 31 Driver references to 0 2026-09-29 03:46:37 +00:00
regions-mfe.vue Track every pane's getter, prune detached ones, and say when one throws 2026-09-29 17:32:33 +00:00