doxa-maps/library/components
swift-river542 fff25e750a
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
Prayer legend header shows progress: a hoverable three-colour bar and the title "Progress"
- New shared LegendProgressBar: [has-prayer span | needs-prayer remainder] with the
  full-coverage colour filling inside the has-prayer span; text "covered of total · %";
  each span is a focusable button with the legend's info popover (name · count · %),
  hover highlight, and click selects the matching legend row
- useLegendData exposes a `progress` payload for the prayer legend (mutually exclusive
  counts from /statistics: covered = has + full); null for every other legend
- SemanticTreeLegend and LegendRows render the bar as the header's second line and title
  the prayer legend "Progress" (desktop, mobile sheet, collapsed pill); profiles pass and
  provide the payload so the mobile sheet gets it unchanged
- legend.progress.* strings in all 11 locales
2026-09-16 16:36:14 -05:00
..
charts Prepare repo to the vision: BLUF vision-cast README, library warning, SRI injection, term scrub 2026-09-15 22:58:19 +00:00
hints Public builds carry zero platform surface + copy-embed on staging 2026-09-16 05:13:44 +00:00
legends Prayer legend header shows progress: a hoverable three-colour bar and the title "Progress" 2026-09-16 16:36:14 -05:00
map-controls Maps stop running Mapbox's render loop through Vue's reactive proxy; prayer glow throttled 2026-09-16 14:11:55 -05:00
poster docs: simplify all folder READMEs (what's here + graphic + link); migrate complex reference to docs/architecture/{data-sources,i18n,components,app-wrappers,poster-generation}.md 2026-09-11 18:50:31 +00:00
qa feat(qa): Start QA session — mint gateway token → create qhoot session → open room 2026-09-15 11:23:47 +00:00
tables Prepare repo to the vision: BLUF vision-cast README, library warning, SRI injection, term scrub 2026-09-15 22:58:19 +00:00
PeopleGroupDetail.vue Public builds carry zero platform surface + copy-embed on staging 2026-09-16 05:13:44 +00:00
README.md docs: simplify all folder READMEs (what's here + graphic + link); migrate complex reference to docs/architecture/{data-sources,i18n,components,app-wrappers,poster-generation}.md 2026-09-11 18:50:31 +00:00
ResearchMapFilterPanel.vue doxa-maps — portable bundler for embeddable JAMstack maps 2026-09-10 01:53:07 +00:00
ResearchMapSideMenu.vue doxa-maps — portable bundler for embeddable JAMstack maps 2026-09-10 01:53:07 +00:00
SideMenuDrawer.vue doxa-maps — portable bundler for embeddable JAMstack maps 2026-09-10 01:53:07 +00:00
WARNING.md Prepare repo to the vision: BLUF vision-cast README, library warning, SRI injection, term scrub 2026-09-15 22:58:19 +00:00

library/components/ — shared Vue components

The map UI, built from parameterized pieces every app-profile reuses. Fix one here and every map benefits — never edit a shared component to customize one map.

  library/components/
  ┌───────────────────────────────────────────┐
  │ legends/        map-controls/   poster/      │
  │ charts/         tables/                       │
  │ PeopleGroupDetail.vue   SideMenuDrawer.vue    │
  │ ResearchMapFilterPanel.vue  …SideMenu.vue     │
  └───────────────────────────────────────────┘
     reused by every app-profile via @map/components/…
  • legends/, map-controls/, poster/ each have their own README.
  • Every component uses <script setup>, calls useShadowStyles(), and reaches stores via inject('mapStore' | 'uiStore' | 'dataStore') — never a direct store import.

Full catalog + conventions: ../../docs/architecture/components.md · per-file roles: ../../docs/reference.md.