Files
HealthLog/src/components/admin/section-slugs.ts
T
Marc-André Bombeck 5b75184649 feat(coach,admin): finish the self-context and invite surfaces end to end
Invites move into their own admin section with a real ledger: status
badges, expiry, uses, a redemption history of who joined when (new
redemption table, revocation is now soft so history survives), and an
honest one-time link/QR moment. The assistant self-context grows
structured fields for conditions, allergies and focus — encrypted like
the free text — merges age and gender from the profile into one fenced
prompt block, and asks up to three targeted follow-up questions that
surface as tappable chips above the coach composer. A fourth nudge
trigger gently suggests a check-up when the self-context is stale and
the coach is actually in use.
2026-06-10 16:18:48 +02:00

48 lines
1.6 KiB
TypeScript

/**
* Server-safe constants for the v1.5 admin split. Mirrors the pattern in
* `src/components/settings/section-slugs.ts` so server-rendered code paths
* (`generateStaticParams()`, the page guard, route-existence tests) can
* import the slug list without dragging the `<AdminShell>` client bundle
* into the server graph.
*
* Order is the in-app navigation order — sidebar nav, mobile strip, and
* `generateStaticParams()` all consume it directly.
*/
export const ADMIN_SECTION_SLUGS = [
"system-status",
"general",
"services",
"integrations",
"ai-quality",
// v1.4.31 — operator-side assistant feature-flag toggles. Sits
// between `ai-quality` (provider config) and `coach-feedback`
// (in-app feedback inbox) per
// `.planning/research/v15-assistant-optional.md` Part B.
"assistant",
"coach-feedback",
"feedback",
"reminders",
"users",
// v1.16.0 — registration invites get their own section. They started
// as a card inside Users, but the invite table (status, redemptions,
// revocation) is a workflow of its own and was drowning under the
// account list; "who may join" sits right next to "who is here".
"invites",
"api-tokens",
"login-overview",
"app-logs",
"backups",
"danger-zone",
// v1.4.36 W4e — About / version / update check folded into Admin
// Console. Lives at /admin/about; the legacy /settings/about route
// is unlinked from the user-card dropdown.
"about",
] as const;
export type AdminSectionSlug = (typeof ADMIN_SECTION_SLUGS)[number];
export function isAdminSectionSlug(value: string): value is AdminSectionSlug {
return (ADMIN_SECTION_SLUGS as readonly string[]).includes(value);
}