The QA panel now checks the go-base session via same-origin GET /api/auth/me and shows 'signed in as X' + Start; if not signed in it offers 'Log in with Nuxtinator' (opens the same-origin /plugin-assets/qa-connect.html popup, which reads the session and postMessages the identity back). Works when the plugin is same-origin; under NUXT_PUBLIC_PLUGIN_SANDBOX_ISOLATE_ORIGIN=true the frame is origin-null so the check is blocked (browser rule) and the button surfaces that. Connect page shipped to the mfe-index volume root. |
||
|---|---|---|
| .. | ||
| charts | ||
| legends | ||
| map-controls | ||
| poster | ||
| qa | ||
| tables | ||
| PeopleGroupDetail.vue | ||
| README.md | ||
| ResearchMapFilterPanel.vue | ||
| ResearchMapSideMenu.vue | ||
| SideMenuDrawer.vue | ||
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>, callsuseShadowStyles(), and reaches stores viainject('mapStore' | 'uiStore' | 'dataStore')— never a direct store import.
Full catalog + conventions:
../../docs/architecture/components.md ·
per-file roles: ../../docs/reference.md.