blob: eeebbe01d45c09585ca0be7e8a6b998adc8dde5e [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
22301021313d1b22025-06-09 01:13:46 +080014import UserHome from "../feature/user/UserHome";
22301014356527a2025-06-09 17:46:56 +080015// import Tmp from "../feature/home/tmp";
22301021313d1b22025-06-09 01:13:46 +080016
223010144ce05872025-06-08 22:33:28 +080017// 创建受保护的组件
18const ProtectedHome = withProtect(Home);
19const ProtectedWork = withProtect(Work);
20const ProtectedCreatWork = withProtect(CreateWork)
22301014356527a2025-06-09 17:46:56 +080021const ProtectedUserHome = withProtect(UserHome)
22301014b1477f72025-06-07 22:54:40 +080022export default createBrowserRouter([
23 {
223010144ce05872025-06-08 22:33:28 +080024 path: "/",
22301014b1477f72025-06-07 22:54:40 +080025 Component: AppLayout,
26 children: [
27 {
28 path: "/",
223010144ce05872025-06-08 22:33:28 +080029 Component: ProtectedHome,
22301014b1477f72025-06-07 22:54:40 +080030 },
31 {
22301021313d1b22025-06-09 01:13:46 +080032 path: "user",
22301014356527a2025-06-09 17:46:56 +080033 Component: ProtectedUserHome,
22301021313d1b22025-06-09 01:13:46 +080034 },
35 {
22301014b1477f72025-06-07 22:54:40 +080036 Component: AuthLayout,
37 children: [
223010144ce05872025-06-08 22:33:28 +080038 { path: "/login", Component: Login },
39 { path: "/register", Component: Register },
40 { path: "/forget", Component: Forget },
22301014b1477f72025-06-07 22:54:40 +080041 ],
42 },
223010144ce05872025-06-08 22:33:28 +080043 {
44 path: "/work/:work_id",
45 Component: ProtectedWork,
46 },
47 {
48 path:"/work/creat",
49 Component: ProtectedCreatWork
22301014356527a2025-06-09 17:46:56 +080050 },
51 // {
52 // path:"/tmp",
53 // Component: Tmp
54 // }
22301014b1477f72025-06-07 22:54:40 +080055 ],
56 },
223010144ce05872025-06-08 22:33:28 +080057]);