diff --git a/library/components/hints/PinHint.vue b/library/components/hints/PinHint.vue index a7daa10e0..cdc66e16d 100644 --- a/library/components/hints/PinHint.vue +++ b/library/components/hints/PinHint.vue @@ -43,8 +43,19 @@ import { useShadowStyles } from '../../composables/useShadowStyles.js' const uiStore = inject('uiStore', null) const profileConfig = inject('profileConfig', null) const isDark = computed(() => uiStore?.theme === 'dark') +// ★ THE DEFAULT MUST NOT NAME A COLOUR (Driver, reported 5+ times). +// The old default was "Tap a red dot — someone still needs prayer". It shipped on EVERY map, +// because `pinHintLabel` is an override no profile has ever set and `pinHint:false` is an opt-out +// no profile has ever used — verified: zero occurrences of either across plugin-designs/. +// So maps with NO red dots (cities-with-internet, gospel-resources) invited readers to tap a red +// dot that does not exist, and UPG-100 — whose dots are a four-colour reached/unreached scale — +// told them the wrong colour. A hint that describes something the reader cannot see is worse than +// no hint: it makes a working map look broken. +// The fix is the DEFAULT, not per-profile config, because the defect came from a default that +// asserted more than it could know. A shared component cannot know what colour a given map's dots +// are, so it must not claim one; profiles that DO want to name a colour still can, via pinHintLabel. const label = computed(() => - profileConfig?.value?.pinHintLabel || 'Tap a red dot — someone still needs prayer') + profileConfig?.value?.pinHintLabel || 'Tap a coloured dot — someone still needs prayer') const visible = ref(false) const hintEl = ref(null)