Stop the charts listing GRN as both checked and unchecked

Two defects, both found by looking at the rendered page rather than
the data behind it.

The footer read "Pools CHECKED: … grn. Pools NOT checked: …, grn (not
yet swept)." GRN is swept a batch at a time, so some codes carry it as
checked and the rest as unchecked, and unioning across the corpus
printed it on both sides. To a reader that is a flat contradiction,
and it is the kind that quietly discredits every other number on the
page. It is neither fully checked nor untouched, so it now says so
once: "grn (partly — the sweep is still running)", on the checked side
only.

And three of the eleven bars — Audio, Gospel presentation,
Discipleship training — are drawn in a green the legend never named,
so a reader had no key for them at all. The legend now carries it.

Neither was visible in the markup or the numbers. The pool strings are
assembled from per-code provenance, and the legend was three entries
that all looked reasonable until you counted the colours actually on
screen against the colours explained.
This commit is contained in:
doxa-maps-88655c70 2026-09-25 01:14:48 +00:00
parent 92d236106d
commit f4595325fa
9 changed files with 51 additions and 31 deletions

View file

@ -202,8 +202,25 @@ const poolSets = computed(() => {
}
return { ck: [...ck], un: [...un], sck: [...sck], sun: [...sun] }
})
const checkedPools = computed(() => poolSets.value.ck.join(', ') || 'unknown')
const uncheckedPools = computed(() => poolSets.value.un.join(', ') || 'unknown')
// A POOL CANNOT BE IN BOTH LISTS. GRN is swept a batch at a time, so some codes carry "grn"
// as checked and the rest carry "grn (not yet swept)" as unchecked — and unioning across the
// corpus printed it on BOTH sides, which reads as a flat contradiction to anyone who notices.
// It is neither fully checked nor untouched, and the honest rendering says exactly that once.
const bare = (x) => x.replace(/\s*\(.*\)\s*$/, '')
const partial = computed(() => {
const ck = new Set(poolSets.value.ck.map(bare))
return poolSets.value.un.map(bare).filter((x) => ck.has(x))
})
const checkedPools = computed(() => {
const part = new Set(partial.value)
const full = poolSets.value.ck.filter((x) => !part.has(bare(x)))
const partTxt = partial.value.map((x) => `${x} (partly — the sweep is still running)`)
return [...full, ...partTxt].join(', ') || 'unknown'
})
const uncheckedPools = computed(() => {
const part = new Set(partial.value)
return poolSets.value.un.filter((x) => !part.has(bare(x))).join(', ') || 'none'
})
// The caveat block every chart carries — the pools, and what a missing value means.
const poolCaveats = computed(() => [
@ -430,6 +447,9 @@ useShadowStyles(
:legend="[
{ label: 'scripture', color: C.scripture },
{ label: 'film / stories', color: C.film },
// Audio, gospel presentations and training are drawn in this green and the legend
// never named it, so three of the eleven bars had no key at all.
{ label: 'audio / presentation / training', color: C.found },
{ label: 'nothing found', color: C.none },
]"
:caveats="poolCaveats"

View file

@ -26,7 +26,7 @@
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
<!-- Bundle IIFE — registers the <gospel-resources-map> custom element. -->
<script src="../gospel-resources.js" integrity="sha384-wL32rhGREV0Tqli0nJ+V528AojPEuQ1mYsYzBWpGrK71UojUAOCCK9+pQfZMiTMc" crossorigin="anonymous"></script>
<script src="../gospel-resources.js" integrity="sha384-VOfZE11pYLTod4ML754gl6GuZmfFHB9xWlX9fqKfGXkBfr9nxo2TEIomKW4etv97" crossorigin="anonymous"></script>
<script>
// Mapbox token resolution — the A3 ladder, in precedence order:

View file

@ -26,7 +26,7 @@
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
<!-- Bundle IIFE — registers the <gospel-resources-map> custom element. -->
<script src="../gospel-resources.js" integrity="sha384-wL32rhGREV0Tqli0nJ+V528AojPEuQ1mYsYzBWpGrK71UojUAOCCK9+pQfZMiTMc" crossorigin="anonymous"></script>
<script src="../gospel-resources.js" integrity="sha384-VOfZE11pYLTod4ML754gl6GuZmfFHB9xWlX9fqKfGXkBfr9nxo2TEIomKW4etv97" crossorigin="anonymous"></script>
<script>
// Mapbox token resolution — the A3 ladder, in precedence order:

View file

@ -40,7 +40,7 @@
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
<!-- Bundle IIFE — registers the <gospel-resources-map> custom element. -->
<script src="../gospel-resources.js" integrity="sha384-wL32rhGREV0Tqli0nJ+V528AojPEuQ1mYsYzBWpGrK71UojUAOCCK9+pQfZMiTMc" crossorigin="anonymous"></script>
<script src="../gospel-resources.js" integrity="sha384-VOfZE11pYLTod4ML754gl6GuZmfFHB9xWlX9fqKfGXkBfr9nxo2TEIomKW4etv97" crossorigin="anonymous"></script>
<script>
// Mapbox token resolution — the A3 ladder, in precedence order:

File diff suppressed because one or more lines are too long

View file

@ -26,7 +26,7 @@
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
<!-- Bundle IIFE — registers the <gospel-resources-map> custom element. -->
<script src="../gospel-resources.js" integrity="sha384-wL32rhGREV0Tqli0nJ+V528AojPEuQ1mYsYzBWpGrK71UojUAOCCK9+pQfZMiTMc" crossorigin="anonymous"></script>
<script src="../gospel-resources.js" integrity="sha384-VOfZE11pYLTod4ML754gl6GuZmfFHB9xWlX9fqKfGXkBfr9nxo2TEIomKW4etv97" crossorigin="anonymous"></script>
<script>
// Mapbox token resolution — the A3 ladder, in precedence order:

View file

@ -29,7 +29,7 @@
<script>window.MAP_APP_API_URL = "https://pray.doxa.life";</script>
<!-- Bundle IIFE — registers the <gospel-resources-map> custom element. -->
<script src="../gospel-resources.js" integrity="sha384-wL32rhGREV0Tqli0nJ+V528AojPEuQ1mYsYzBWpGrK71UojUAOCCK9+pQfZMiTMc" crossorigin="anonymous"></script>
<script src="../gospel-resources.js" integrity="sha384-VOfZE11pYLTod4ML754gl6GuZmfFHB9xWlX9fqKfGXkBfr9nxo2TEIomKW4etv97" crossorigin="anonymous"></script>
<script>
// Mapbox token resolution — the A3 ladder, in precedence order:

File diff suppressed because one or more lines are too long

View file

@ -596,7 +596,7 @@
"bundle": "gospel-resources",
"scriptUrl": "./gospel-resources/gospel-resources.js",
"output": "doxa-maps/gospel-resources/gospel-resources.js",
"integrity": "sha384-wL32rhGREV0Tqli0nJ+V528AojPEuQ1mYsYzBWpGrK71UojUAOCCK9+pQfZMiTMc",
"integrity": "sha384-VOfZE11pYLTod4ML754gl6GuZmfFHB9xWlX9fqKfGXkBfr9nxo2TEIomKW4etv97",
"elements": [
"gospel-resources-map"
],
@ -616,7 +616,7 @@
"scriptUrl": "./gospel-resources/gospel-resources.js",
"embed": {
"iframe": "<iframe src=\"./gospel-resources/charts/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-wL32rhGREV0Tqli0nJ+V528AojPEuQ1mYsYzBWpGrK71UojUAOCCK9+pQfZMiTMc\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"charts\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-VOfZE11pYLTod4ML754gl6GuZmfFHB9xWlX9fqKfGXkBfr9nxo2TEIomKW4etv97\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"charts\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
}
},
{
@ -630,7 +630,7 @@
"scriptUrl": "./gospel-resources/gospel-resources.js",
"embed": {
"iframe": "<iframe src=\"./gospel-resources/data-tables/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-wL32rhGREV0Tqli0nJ+V528AojPEuQ1mYsYzBWpGrK71UojUAOCCK9+pQfZMiTMc\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-VOfZE11pYLTod4ML754gl6GuZmfFHB9xWlX9fqKfGXkBfr9nxo2TEIomKW4etv97\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
}
},
{
@ -644,7 +644,7 @@
"scriptUrl": "./gospel-resources/gospel-resources.js",
"embed": {
"iframe": "<iframe src=\"./gospel-resources/gospel-dashboard/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-wL32rhGREV0Tqli0nJ+V528AojPEuQ1mYsYzBWpGrK71UojUAOCCK9+pQfZMiTMc\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"gospel-dashboard\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-VOfZE11pYLTod4ML754gl6GuZmfFHB9xWlX9fqKfGXkBfr9nxo2TEIomKW4etv97\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"gospel-dashboard\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
}
},
{
@ -658,7 +658,7 @@
"scriptUrl": "./gospel-resources/gospel-resources.js",
"embed": {
"iframe": "<iframe src=\"./gospel-resources/resources-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-wL32rhGREV0Tqli0nJ+V528AojPEuQ1mYsYzBWpGrK71UojUAOCCK9+pQfZMiTMc\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"resources-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-VOfZE11pYLTod4ML754gl6GuZmfFHB9xWlX9fqKfGXkBfr9nxo2TEIomKW4etv97\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"resources-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
}
},
{
@ -672,7 +672,7 @@
"scriptUrl": "./gospel-resources/gospel-resources.js",
"embed": {
"iframe": "<iframe src=\"./gospel-resources/resources-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen></iframe>",
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-wL32rhGREV0Tqli0nJ+V528AojPEuQ1mYsYzBWpGrK71UojUAOCCK9+pQfZMiTMc\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"resources-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
"script": "<script>window.MAP_APP_API_URL=\"https://pray.doxa.life\";</script>\n<script src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-VOfZE11pYLTod4ML754gl6GuZmfFHB9xWlX9fqKfGXkBfr9nxo2TEIomKW4etv97\" crossorigin=\"anonymous\"></script>\n<gospel-resources-map profile-config='{\"profile\":\"resources-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'></gospel-resources-map>"
}
}
]