Files
civitai__civitai/docs/packages
briant 956ca81744 feat(moderator): role hierarchy, @civitai/ui shadcn package, page visits
Role access model
- Replace the features/permissions model with a role HIERARCHY
  (volunteer < staff < senior < admin): each tier adds pages and inherits
  everything below; admin-only pages sit at the top. navGroupsForUser drives a
  role-separated sidebar; requireAccess gates every page (403 via +error.svelte).
  features.ts -> access.ts.

Shared UI package (@civitai/ui)
- Migrate the moderator app to Tailwind v4 (@tailwindcss/vite).
- Extract the 24 shadcn-svelte components + cn/hooks + theme.css into
  packages/civitai-ui, shipped raw with @civitai/ui self-aliased imports;
  bits-ui et al. move there.
- Moderator consumes via workspace dep + ssr.noExternal + @import
  "@civitai/ui/theme.css" + one @source; sidebar rebuilt on shadcn Sidebar.
  new-app-integration.md §0 points new apps at the package (~4-line onboard).

Page-visit tracking
- recordPageVisit (ClickHouse) from the root layout load + /page-visits admin page.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 17:23:41 -06:00
..