Let the gap breakdown survive the sweep finishing
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.
This commit is contained in:
parent
953fe79002
commit
2fa09852ab
9 changed files with 56 additions and 39 deletions
|
|
@ -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(
|
|||
</template>
|
||||
<template v-else-if="gapBy !== 'hnr'">These are the 40 largest; tap one to fly there.</template>
|
||||
<template v-if="gapBy === 'groups'">
|
||||
<br><b>What that number is made of.</b> Four different situations share it, and
|
||||
only the last is a translation problem:
|
||||
<br>· <b>{{ fmt(gapMakeup.searched) }}</b> groups ({{ fmt(gapMakeup.searchedP) }} people)
|
||||
— every pool this build can reach was checked and found nothing. This is the real gap.
|
||||
<br>· <b>{{ fmt(gapMakeup.pending) }}</b> ({{ fmt(gapMakeup.pendingP) }}) — Global
|
||||
Recordings Network has not been swept for them yet; the crawl runs a batch at a time.
|
||||
<br><b>What that number is made of.</b> {{ gapKindsWord }} different situations share
|
||||
it, and only the first is a translation problem:
|
||||
<template v-if="gapMakeup.searched">
|
||||
<br>· <b>{{ fmt(gapMakeup.searched) }}</b> groups ({{ fmt(gapMakeup.searchedP) }} people)
|
||||
— every pool this build can reach was checked and found nothing. This is the real gap.
|
||||
</template>
|
||||
<template v-if="gapMakeup.pending">
|
||||
<br>· <b>{{ fmt(gapMakeup.pending) }}</b> ({{ fmt(gapMakeup.pendingP) }}) — Global
|
||||
Recordings Network has not been swept for them yet; the crawl runs a batch at a time.
|
||||
</template>
|
||||
<template v-if="gapMakeup.sign">
|
||||
<br>· <b>{{ fmt(gapMakeup.sign) }}</b> ({{ fmt(gapMakeup.signP) }}) — sign languages,
|
||||
whose pools are key-gated. The largest blocked population here, and an access
|
||||
problem rather than a translation one. <template v-if="gapMakeup.signPriv">{{ fmt(gapMakeup.signPriv) }}
|
||||
of them also carry a code no pool can index, so they are doubly stuck. </template>
|
||||
</template>
|
||||
<template v-if="gapMakeup.priv + gapMakeup.noCode">
|
||||
<br>· <b>{{ fmt(gapMakeup.priv + gapMakeup.noCode) }}</b>
|
||||
({{ fmt(gapMakeup.privP + gapMakeup.noCodeP) }}) — a private-use code or none at
|
||||
|
|
|
|||
|
|
@ -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-oAe1e8Solrg2uwraG4tVveco0hqzOJe0nCJSPleNtBKnRuoX0gVTa8kI9ksb/c2j" crossorigin="anonymous"></script>
|
||||
<script src="../gospel-resources.js" integrity="sha384-jGjz5ReXEkDft6wd72fztdp6/xnrdmJBWKEJOSitAifzg3bkgMIEi2AlPnklGo5S" crossorigin="anonymous"></script>
|
||||
|
||||
<script>
|
||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||
|
|
|
|||
|
|
@ -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-oAe1e8Solrg2uwraG4tVveco0hqzOJe0nCJSPleNtBKnRuoX0gVTa8kI9ksb/c2j" crossorigin="anonymous"></script>
|
||||
<script src="../gospel-resources.js" integrity="sha384-jGjz5ReXEkDft6wd72fztdp6/xnrdmJBWKEJOSitAifzg3bkgMIEi2AlPnklGo5S" crossorigin="anonymous"></script>
|
||||
|
||||
<script>
|
||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||
|
|
|
|||
|
|
@ -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-oAe1e8Solrg2uwraG4tVveco0hqzOJe0nCJSPleNtBKnRuoX0gVTa8kI9ksb/c2j" crossorigin="anonymous"></script>
|
||||
<script src="../gospel-resources.js" integrity="sha384-jGjz5ReXEkDft6wd72fztdp6/xnrdmJBWKEJOSitAifzg3bkgMIEi2AlPnklGo5S" crossorigin="anonymous"></script>
|
||||
|
||||
<script>
|
||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -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-oAe1e8Solrg2uwraG4tVveco0hqzOJe0nCJSPleNtBKnRuoX0gVTa8kI9ksb/c2j" crossorigin="anonymous"></script>
|
||||
<script src="../gospel-resources.js" integrity="sha384-jGjz5ReXEkDft6wd72fztdp6/xnrdmJBWKEJOSitAifzg3bkgMIEi2AlPnklGo5S" crossorigin="anonymous"></script>
|
||||
|
||||
<script>
|
||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||
|
|
|
|||
|
|
@ -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-oAe1e8Solrg2uwraG4tVveco0hqzOJe0nCJSPleNtBKnRuoX0gVTa8kI9ksb/c2j" crossorigin="anonymous"></script>
|
||||
<script src="../gospel-resources.js" integrity="sha384-jGjz5ReXEkDft6wd72fztdp6/xnrdmJBWKEJOSitAifzg3bkgMIEi2AlPnklGo5S" crossorigin="anonymous"></script>
|
||||
|
||||
<script>
|
||||
// Mapbox token resolution — the A3 ladder, in precedence order:
|
||||
|
|
|
|||
2
public/doxa-maps/index.html
generated
2
public/doxa-maps/index.html
generated
File diff suppressed because one or more lines are too long
12
public/doxa-maps/manifest.json
generated
12
public/doxa-maps/manifest.json
generated
|
|
@ -596,7 +596,7 @@
|
|||
"bundle": "gospel-resources",
|
||||
"scriptUrl": "./gospel-resources/gospel-resources.js",
|
||||
"output": "doxa-maps/gospel-resources/gospel-resources.js",
|
||||
"integrity": "sha384-oAe1e8Solrg2uwraG4tVveco0hqzOJe0nCJSPleNtBKnRuoX0gVTa8kI9ksb/c2j",
|
||||
"integrity": "sha384-jGjz5ReXEkDft6wd72fztdp6/xnrdmJBWKEJOSitAifzg3bkgMIEi2AlPnklGo5S",
|
||||
"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-oAe1e8Solrg2uwraG4tVveco0hqzOJe0nCJSPleNtBKnRuoX0gVTa8kI9ksb/c2j\" 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-jGjz5ReXEkDft6wd72fztdp6/xnrdmJBWKEJOSitAifzg3bkgMIEi2AlPnklGo5S\" 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-oAe1e8Solrg2uwraG4tVveco0hqzOJe0nCJSPleNtBKnRuoX0gVTa8kI9ksb/c2j\" 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-jGjz5ReXEkDft6wd72fztdp6/xnrdmJBWKEJOSitAifzg3bkgMIEi2AlPnklGo5S\" 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-oAe1e8Solrg2uwraG4tVveco0hqzOJe0nCJSPleNtBKnRuoX0gVTa8kI9ksb/c2j\" 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-jGjz5ReXEkDft6wd72fztdp6/xnrdmJBWKEJOSitAifzg3bkgMIEi2AlPnklGo5S\" 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-oAe1e8Solrg2uwraG4tVveco0hqzOJe0nCJSPleNtBKnRuoX0gVTa8kI9ksb/c2j\" 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-jGjz5ReXEkDft6wd72fztdp6/xnrdmJBWKEJOSitAifzg3bkgMIEi2AlPnklGo5S\" 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-oAe1e8Solrg2uwraG4tVveco0hqzOJe0nCJSPleNtBKnRuoX0gVTa8kI9ksb/c2j\" 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-jGjz5ReXEkDft6wd72fztdp6/xnrdmJBWKEJOSitAifzg3bkgMIEi2AlPnklGo5S\" 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>"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
|||
Loading…
Reference in a new issue