book_manage/apps/web/src/routes/index.tsx

58 lines
1.4 KiB
TypeScript
Raw Normal View History

2024-07-11 11:00:51 +08:00
import {
2024-12-30 08:26:40 +08:00
createBrowserRouter,
IndexRouteObject,
Link,
NonIndexRouteObject,
2025-02-24 19:10:38 +08:00
useParams,
2024-07-11 11:00:51 +08:00
} from "react-router-dom";
2024-07-22 10:07:05 +08:00
import ErrorPage from "../app/error";
2025-04-09 11:40:44 +08:00
import LoginPage from "../app/login";
import WithAuth from "../components/utils/with-auth";
import { CodeManageProvider } from "../app/admin/code-manage/CodeManageContext";
import CodeManageLayout from "../app/admin/code-manage/CodeManageLayout";
2025-04-09 11:44:54 +08:00
import QuickUploadPage from "../app/admin/quick-file/page";
2024-09-10 10:31:24 +08:00
interface CustomIndexRouteObject extends IndexRouteObject {
2024-12-30 08:26:40 +08:00
name?: string;
breadcrumb?: string;
2024-09-10 10:31:24 +08:00
}
2024-12-30 08:26:40 +08:00
interface CustomIndexRouteObject extends IndexRouteObject {
name?: string;
breadcrumb?: string;
2024-09-10 10:31:24 +08:00
}
2024-12-30 08:26:40 +08:00
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[] = [
{
2025-04-02 21:59:19 +08:00
path: "/",
2025-04-09 11:44:54 +08:00
element: <QuickUploadPage></QuickUploadPage>,
2024-12-30 08:26:40 +08:00
errorElement: <ErrorPage />,
2025-04-02 21:59:19 +08:00
},
2025-04-09 11:40:44 +08:00
{
path: "/login",
breadcrumb: "登录",
element: <LoginPage></LoginPage>,
},
{
path: "/code-manage",
element: <>
<WithAuth>
<CodeManageProvider>
<CodeManageLayout></CodeManageLayout>
</CodeManageProvider>
</WithAuth>
</>
},
2024-12-30 08:26:40 +08:00
];
2024-09-09 18:48:07 +08:00
2024-09-10 10:31:24 +08:00
export const router = createBrowserRouter(routes);