From 2fa09852ab5825fd1c4f360992d10c0eb914dae7 Mon Sep 17 00:00:00 2001 From: doxa-maps-88655c70 <88627970+doxa-maps-88655c70@users.noreply.github.com> Date: Fri, 25 Sep 2026 01:37:30 +0000 Subject: [PATCH] Let the gap breakdown survive the sweep finishing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The breakdown hardcoded "Four different situations share it" and gave every line an unconditional row. The GRN sweep has 302 codes left, so within an hour or two that bucket empties — and the sheet would have rendered "· 0 (0) — Global Recordings Network has not been swept for them yet" beside a sentence insisting there were four. Two falsehoods at once: the count, and the implication that some remain unswept. Each line is now conditional and the opening counts the situations that actually have rows. Tested by simulating completion in the data the page really loads: with every code marked swept it renders "Three different situations", the GRN line is gone, and the real translation gap absorbs them, 1,220 → 1,531. Restored afterwards and both asset copies verified identical and back to 311. Worth recording from that test: the page reads public/assets/tables/, NOT public/doxa-maps/assets/tables/. Editing the second one changes nothing, which cost two browser runs to discover — the first "simulation" verified the file it edited and still watched the old number render, which looked like a broken guard rather than a wrong path. --- .../gospel-resources/resources-map.vue | 29 ++++++++++--- .../gospel-resources/charts/index.html | 2 +- .../gospel-resources/data-tables/index.html | 2 +- .../gospel-dashboard/index.html | 2 +- .../gospel-resources/gospel-resources.js | 42 +++++++++---------- .../resources-list/index.html | 2 +- .../gospel-resources/resources-map/index.html | 2 +- public/doxa-maps/index.html | 2 +- public/doxa-maps/manifest.json | 12 +++--- 9 files changed, 56 insertions(+), 39 deletions(-) diff --git a/plugin-designs/gospel-resources/resources-map.vue b/plugin-designs/gospel-resources/resources-map.vue index 65aa61908..2da8c0984 100644 --- a/plugin-designs/gospel-resources/resources-map.vue +++ b/plugin-designs/gospel-resources/resources-map.vue @@ -366,6 +366,17 @@ const gapBy = ref('groups') // last line is the real translation gap, and it is the only one of the four that a // translator rather than an administrator can close. // Computed from the pins and the per-code `checked` line, never from a typed number. +// How many of the four situations actually have rows today. The sweep empties one of them +// on completion, and a sentence reading "Four different situations" beside a line saying +// "0 groups — GRN has not been swept for them yet" would be two lies at once: the count and +// the implication that some remain. +const gapKindsPresent = computed(() => { + const m = gapMakeup.value + return [m.searched, m.pending, m.sign, m.priv + m.noCode].filter((n) => n > 0).length +}) +const WORDS = ['no', 'One', 'Two', 'Three', 'Four'] +const gapKindsWord = computed(() => WORDS[gapKindsPresent.value] || String(gapKindsPresent.value)) + const gapMakeup = computed(() => { const m = { noCode: 0, priv: 0, signPriv: 0, sign: 0, pending: 0, searched: 0, noCodeP: 0, privP: 0, signPrivP: 0, signP: 0, pendingP: 0, searchedP: 0 } @@ -1287,16 +1298,22 @@ useShadowStyles(