diff --git a/plugin-designs/gospel-internet/board.vue b/plugin-designs/gospel-internet/board.vue index 022e4145b..0ef1379fc 100644 --- a/plugin-designs/gospel-internet/board.vue +++ b/plugin-designs/gospel-internet/board.vue @@ -31,6 +31,7 @@ import { useBoard } from './src/useBoard.js' import { useGiT } from './src/useGiT.js' import GiFacetRail from './src/components/GiFacetRail.vue' import GiMap from './src/components/GiMap.vue' +import GiBoundedSet from './src/components/GiBoundedSet.vue' import GiCharts from './src/components/GiCharts.vue' import GiGrid from './src/components/GiGrid.vue' import GiDrawer from './src/components/GiDrawer.vue' @@ -124,10 +125,21 @@ const treeEver = ref(false) // still built a second WebGL context, its tiles and 1,700 pins on every open (it froze /embed-test when // several heavy cards mounted together). Once shown it stays mounted, so switching back is instant. const mapEver = ref(false) -watch(() => board.centre.value, (c) => { if (c === 'tree') treeEver.value = true; if (c === 'map') mapEver.value = true }, { immediate: true }) +const boundedEver = ref(false) +watch(() => board.centre.value, (c) => { + if (c === 'tree') treeEver.value = true + if (c === 'map') mapEver.value = true + if (c === 'bounded') boundedEver.value = true +}, { immediate: true }) +// The Driver's order: Language tree, Bounded set, Centered set, then Map. The centered-set +// target is NOT here yet — it needs the ring data, which is still on exp-shepherd's branch. +// A tab whose panel cannot be drawn would be worse than a missing tab, so it arrives with +// its data rather than ahead of it. `centered` is already a known panel in useBoard, so +// adding the tab is one line once the rings land. const CENTRE_TABS = computed(() => [ - { id: 'map', label: T('gospelInternet.centre.map', 'Map') }, { id: 'tree', label: T('gospelInternet.centre.tree', 'Language tree') }, + { id: 'bounded', label: T('gospelInternet.centre.bounded', 'Bounded set') }, + { id: 'map', label: T('gospelInternet.centre.map', 'Map') }, ]) // the table under the centre: the people groups, or the gospel resources for their languages const tableTab = ref('groups') @@ -247,6 +259,7 @@ useShadowStyles(
+ {{ T('gospelInternet.bounded.failed', 'The reached/unreached table could not be loaded, so this chart is not drawn.') }} + {{ failed }} +
+ + ++ {{ T('gospelInternet.bounded.caption', 'Inside the circle: reached. Outside: unreached.') }} + {{ fmt(tally.inside) }} / {{ fmt(tally.outside) }} +
++ {{ T('gospelInternet.bounded.unknown', 'Not drawn, because their reached status did not match this table:') }} + {{ fmt(tally.unknown) }} +
+ +