The four entries pointing at /images/demo/logos/{1-4}.svg (gsc-meet,
gsc-ai-hub, gsc-surveillance, gsc-dam) shipped icon URLs that don't
resolve in any consumer app's public/, producing 404s in every
AdminShell app-switcher render. Replaced with Phosphor classes +
bg-*-lt tinted tiles, matching the existing gsc-voice/gsc-archive
pattern in the same seed.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Three SQL files for apps to copy into their own migrations directory:
- nav-schema.up.sql — schema "nav" + enum menu_type + tables
menu_items, menu_role_requirements,
menu_permission_requirements,
menu_product_requirements, apps. Apply
verbatim; the kit owns it.
- nav-apps-seed.up.sql — canonical cross-app browse-apps list,
idempotent INSERT … ON CONFLICT DO UPDATE.
Updates flow via kit version bumps; apps
re-apply to receive new entries.
- nav-menu-items-template.sql — TEMPLATE only. Each app copies once,
renames to its next migration number, and
edits the seed rows for its own sidebar/
topbar/subbar items.
Adoption pattern documented in the kit README.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>