import { createBrowserRouter, IndexRouteObject, Link, NonIndexRouteObject, } from "react-router-dom"; import { RolePerms } from "@nice/common"; import ErrorPage from "../app/error"; import DepartmentAdminPage from "../app/admin/department/page"; import TermAdminPage from "../app/admin/term/page"; import StaffAdminPage from "../app/admin/staff/page"; import RoleAdminPage from "../app/admin/role/page"; import WithAuth from "../components/utils/with-auth"; import BaseSettingPage from "../app/admin/base-setting/page"; import { MainLayout } from "../components/layout/main/MainLayout"; import HomePage from "../app/main/home/page"; import { CourseBasicForm } from "../components/models/course/editor/form/CourseBasicForm"; import CourseContentForm from "../components/models/course/editor/form/CourseContentForm"; import { CourseGoalForm } from "../components/models/course/editor/form/CourseGoalForm"; import CourseSettingForm from "../components/models/course/editor/form/CourseSettingForm"; import CourseEditorLayout from "../components/models/course/editor/layout/CourseEditorLayout"; import WriteLetterPage from "../app/main/letter/write/page"; import LetterListPage from "../app/main/letter/list/page"; import LetterProgressPage from "../app/main/letter/progress/page"; import HelpPage from "../app/main/help/page"; import AuthPage from "../app/auth/page"; interface CustomIndexRouteObject extends IndexRouteObject { name?: string; breadcrumb?: string; } interface CustomIndexRouteObject extends IndexRouteObject { name?: string; breadcrumb?: string; } export interface NavItem { icon?: React.ReactNode; label: string; path: string; } export interface CustomNonIndexRouteObject extends NonIndexRouteObject { name?: string; children?: CustomRouteObject[]; breadcrumb?: string; handle?: { crumb: (data?: any) => void; }; } export type CustomRouteObject = | CustomIndexRouteObject | CustomNonIndexRouteObject; export const routes: CustomRouteObject[] = [ { path: "/", errorElement: , handle: { crumb() { return 主页; }, }, children: [ { element: , children: [ { index: true, element: , }, { path: "write-letter", element: , }, { path: "letter-list", element: } , { path: 'letter-progress', element: }, { path: 'help', element: } ], }, { path: "course", children: [ { path: ":id?/editor", element: , children: [{ index: true, element: }, { path: 'goal', element: }, { path: 'content', element: }, { path: 'setting', element: } ] } ], }, { path: "admin", children: [ { path: "base-setting", element: ( ), handle: { crumb() { return ( 基本设置 ); }, }, }, { path: "department", breadcrumb: "单位管理", element: ( ), handle: { crumb() { return ( 组织架构 ); }, }, }, { path: "staff", element: ( ), handle: { crumb() { return ( 用户管理 ); }, }, }, { path: "term", breadcrumb: "分类配置", element: ( ), handle: { crumb() { return 分类配置; }, }, }, { path: "role", breadcrumb: "角色管理", element: ( ), handle: { crumb() { return 角色管理; }, }, }, ], }, ], }, { path: "/auth", breadcrumb: "登录", element: , }, ]; export const router = createBrowserRouter(routes);