import { createBrowserRouter, Navigate, Outlet } from "react-router";
import { RequireAuth } from "@/components/auth/require-auth";
import { RequireFeature } from "@/components/auth/require-feature";
import UserLayout from "@/layouts/user-layout";
import AdminPage from "@/pages/admin";
import { AccessSettingsPage, AnalyticsPage, AnnouncementsPage, CreditOperationsPage, EmailSettingsPage, FeatureAvailabilityPage } from "@/pages/admin/admin-route-pages";
import ChannelsPage from "@/pages/admin/channels/channels-page";
import LogsPage from "@/pages/admin/logs/logs-page";
import RedemptionCodesPage from "@/pages/admin/redemption-codes/redemption-codes-page";
import RuntimePolicySettingsPage from "@/pages/admin/settings/runtime-policy-settings-page";
import DrawingEngineSettingsPage from "@/pages/admin/settings/drawing-engine-settings-page";
import StorageSettingsPage from "@/pages/admin/settings/storage-settings-page";
import StoryboardPromptsPage from "@/pages/admin/storyboard-prompts/storyboard-prompts-page";
import UsersPage from "@/pages/admin/users/users-page";
import AssetsPage from "@/pages/assets";
import { AuthScene } from "@/pages/auth/auth-scene";
import LoginPage from "@/pages/auth/login";
import RegisterPage from "@/pages/auth/register";
import CanvasPage from "@/pages/canvas";
import CanvasProjectPage from "@/pages/canvas/project";
import SharedCanvasPage from "@/pages/canvas/shared";
import CreatePage from "@/pages/create";
import HomePage from "@/pages/home";
import NotFound from "@/pages/not-found";
import RouteErrorPage from "@/pages/route-error";
import SkillsPage from "@/pages/skills";
import TasksPage from "@/pages/tasks";
import WalletPage from "@/pages/wallet";
import ProjectsPage from "@/pages/projects";
import ProjectDetailPage from "@/pages/projects/detail";
import SettingsPage from "@/pages/settings";
import TestVoiceRecording from "@/pages/test-voice-recording";
export const router = createBrowserRouter([
{
element: ,
errorElement: ,
children: [
{ path: "/login", element: },
{ path: "/register", element: },
],
},
{ path: "/share/canvas/:token", element: , errorElement: },
{
element: (
),
errorElement: ,
children: [
{ path: "/", element: },
{ path: "/create", element: },
{ path: "/home", element: },
{ path: "/tasks", element: },
{ path: "/assets", element: },
{ path: "/skills", element: },
{ path: "/wallet", element: },
{ path: "/settings", element: },
{ path: "/test-voice-recording", element: },
{ path: "/projects", element: },
{ path: "/projects/:projectId", element: },
{ path: "/projects/:projectId/:view", element: },
{ path: "/projects/:projectId/chapters/:chapterId", element: },
{ path: "/canvas", element: },
{ path: "/canvas/:id", element: },
{
path: "/admin",
element: ,
children: [
{ index: true, element: },
{ path: "users", element: },
{ path: "channels", element: },
{ path: "prompt-templates", element: },
{ path: "storyboard-prompts", element: },
{ path: "announcements", element: },
{ path: "credit-operations", element: },
{ path: "redemption-codes", element: },
{ path: "logs", element: },
{ path: "settings", element: },
{ path: "settings/drawing-engine", element: },
{ path: "settings/concurrency", element: },
{ path: "settings/runtime-policy", element: },
{ path: "settings/features", element: },
{ path: "settings/access", element: },
{ path: "settings/email", element: },
{ path: "settings/storage", element: },
],
},
],
},
{ path: "*", element: },
]);