blob: 3bb31356f56a5537f11107627e00b24d94cfceda [file] [log] [blame]
223010144ce05872025-06-08 22:33:28 +08001// src/routes/routes.ts
2
22301014b1477f72025-06-07 22:54:40 +08003import { createBrowserRouter } from "react-router";
223010144ce05872025-06-08 22:33:28 +08004import Home from "../feature/home/Home";
22301014b1477f72025-06-07 22:54:40 +08005import AuthLayout from "../feature/auth/AuthLayout";
6import Login from "../feature/auth/Login";
7import Register from "../feature/auth/Register";
8import Forget from "../feature/auth/Forget";
9import AppLayout from "../AppLayout";
10import withProtect from "./withProtect";
223010144ce05872025-06-08 22:33:28 +080011import Work from "../feature/work/Work";
12import CreateWork from "../feature/work/CreateWork";
22301014b1477f72025-06-07 22:54:40 +080013
223010144ce05872025-06-08 22:33:28 +080014// 创建受保护的组件
15const ProtectedHome = withProtect(Home);
16const ProtectedWork = withProtect(Work);
17const ProtectedCreatWork = withProtect(CreateWork)
22301014b1477f72025-06-07 22:54:40 +080018export default createBrowserRouter([
19 {
223010144ce05872025-06-08 22:33:28 +080020 path: "/",
22301014b1477f72025-06-07 22:54:40 +080021 Component: AppLayout,
22 children: [
23 {
24 path: "/",
223010144ce05872025-06-08 22:33:28 +080025 Component: ProtectedHome,
22301014b1477f72025-06-07 22:54:40 +080026 },
27 {
28 Component: AuthLayout,
29 children: [
223010144ce05872025-06-08 22:33:28 +080030 { path: "/login", Component: Login },
31 { path: "/register", Component: Register },
32 { path: "/forget", Component: Forget },
22301014b1477f72025-06-07 22:54:40 +080033 ],
34 },
223010144ce05872025-06-08 22:33:28 +080035 {
36 path: "/work/:work_id",
37 Component: ProtectedWork,
38 },
39 {
40 path:"/work/creat",
41 Component: ProtectedCreatWork
42 }
22301014b1477f72025-06-07 22:54:40 +080043 ],
44 },
223010144ce05872025-06-08 22:33:28 +080045]);