Commit Graph

2 Commits

Author SHA1 Message Date
Ronni Baslund 702fe9e134 feat(operator): real account settings page
Replace the OpPlaceholder stub at /settings with a three-card account page:

- Profile: name, email, subject ID, deduped group chips (Authentik returns
  each group twice; dedupe in the computed). Last sign-in derived from JWT
  iat via the existing /api/_verify-token endpoint.
- Security: three deep links to Authentik's user settings — change password,
  manage MFA devices, active sessions. We don't re-implement identity here;
  Authentik already has a polished UI for it.
- Appearance: theme / density / env segmented controls. Shares the
  useTweaks composable with the floating Tweaks panel, so flipping here
  is reflected there and vice-versa.
2026-05-24 16:47:03 +02:00
Ronni Baslund e0ac643e80 feat(operator): visual-only screens with real-data overview (O.7)
- Overview (pages/index.vue): KPIs from real /tenants /partners /users,
  status meter, recent + needs-follow-up tables. Mock activity stream and
  incident banner overlay come from data/fixtures.ts.
- Operator team: real GET /users filtered to platformAdmin === true,
  with last-seen + tenant counts.
- Users (global): real read with All/Admins/Inactive views and search.
- Infrastructure / Feature flags / Audit: mock fixtures only — wiring to
  real backends (Prometheus, OpenFeature, append-only audit) is tracked
  as follow-ups in OPERATOR-PLAN.md.
- Placeholder pages (support/billing/reports/settings) via OpPlaceholder.
- Shared: Stat, MetricCell, OpPlaceholder components, /api/users proxy,
  PlatformUser type.
- .gitignore: scope the docker volumes data/ rule so apps/*/data/ is
  tracked again (operator carries mock fixtures there).
2026-05-24 08:17:26 +02:00