Arcadia wiring: - home: real Overview dashboard (tenants/users/audit/health probe) replacing the inherited Vibespace welcome tiles; skeleton loaders, refresh button, registers admin context - profile: split into Account (synced via getUser/updateUser of session user) and local Preferences; updateSessionUser keeps the appbar in sync after edits - session: drop unused signIn mock, add updateSessionUser, refresh tests - profile schema: drop redundant Profile.name/email (session is the source of truth) - routes: delete orphaned resources route + lib Auth flows that previously 404'd: - /signup, /login/forgot, /login/reset, /login/2fa wired via @crema/arcadia-auth-ui - shared AuthShell + AuthBrand wrapper Assistant tools (admin-tools.ts): - +10 tools: deactivate_tenant, set_user_status, delete_user, list_memberships, list_roles, revoke_api_key, create_user, update_user, assign_role, remove_role - list_memberships gains user_id filter for "tenants this user belongs to" queries - search_kb / read_chunk: new token resolution (window override → VITE_ARCADIA_SEARCH_TOKEN service token → operator session JWT → "dev"); on 401/403 emit a tailored hint based on which token was used UI consistency: - new PageHeader component - AppShell.title was unrendered — dropped; first-child padding on #main-content keeps the floating actions pill from colliding with header content - removed dead "Sign in required" fallback cards from 14 routes (AppShell already redirects) - stripped p-6 from outer wrappers across 14 routes (was double-padding under AppShell's own p-6) - migrated home + tenants to PageHeader arcadia-search ergonomics: - scripts/mint-search-token.mjs + `npm run mint:search-token` mints HS512 JWT with required tenant_id claim, upserts VITE_ARCADIA_SEARCH_TOKEN into .env.local - README/.env document the new VITE_ARCADIA_SEARCH_URL / VITE_ARCADIA_SEARCH_TOKEN knobs - .env.local now gitignored Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
31 lines
1.2 KiB
TypeScript
31 lines
1.2 KiB
TypeScript
import { type RouteConfig, index, route } from "@react-router/dev/routes"
|
|
|
|
export default [
|
|
index("routes/home.tsx"),
|
|
route("activity", "routes/activity.tsx"),
|
|
route("assistant", "routes/assistant.tsx"),
|
|
route("ai", "routes/ai.tsx"),
|
|
route("library", "routes/library.tsx"),
|
|
route("settings", "routes/settings.tsx"),
|
|
route("profile", "routes/profile.tsx"),
|
|
route("login", "routes/login.tsx"),
|
|
route("login/forgot", "routes/login.forgot.tsx"),
|
|
route("login/reset", "routes/login.reset.tsx"),
|
|
route("login/2fa", "routes/login.2fa.tsx"),
|
|
route("signup", "routes/signup.tsx"),
|
|
route("tenants", "routes/tenants.tsx"),
|
|
route("storage", "routes/storage.tsx"),
|
|
route("users", "routes/users.tsx"),
|
|
route("secrets", "routes/secrets.tsx"),
|
|
route("webhooks", "routes/webhooks.tsx"),
|
|
route("scheduled-tasks", "routes/scheduled-tasks.tsx"),
|
|
route("buckets", "routes/buckets.tsx"),
|
|
route("monitoring", "routes/monitoring.tsx"),
|
|
route("memberships", "routes/memberships.tsx"),
|
|
route("networking", "routes/networking.tsx"),
|
|
route("sso", "routes/sso.tsx"),
|
|
route("announcements", "routes/announcements.tsx"),
|
|
route("status-page", "routes/status-page.tsx"),
|
|
// CREMA:ROUTES
|
|
] satisfies RouteConfig
|