Router.tsx 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. import * as React from "react";
  2. import {
  3. Routes,
  4. Route,
  5. Outlet,
  6. Link,
  7. createBrowserRouter,
  8. } from "react-router-dom";
  9. import Layout from "@/components/Layout/Layout";
  10. // import Home from "@/pages/Home/Home";
  11. import About from "@/pages/About/About";
  12. import Finder from "@/pages/Finder/Finder";
  13. import Setting from "@/pages/Setting/Setting";
  14. import FileSort from "@/pages/FileSort/FileSort";
  15. import FileClear from "@/pages/FileClear/FileClear";
  16. import DuplicateFileIndex from "@/pages/DuplicateFile/Index";
  17. import DuplicateFile from "@/pages/DuplicateFile/DuplicateFile";
  18. import CalculateDuplicateFiles from "@/pages/DuplicateFile/CalculateDuplicateFiles";
  19. import DuplicateFileInfo from "@/pages/DuplicateFile/FileInfo";
  20. // import CalculateListPage from "@/pages/DuplicateFile/CalculateListPage";
  21. import CalculateListPage from "@/pages/DuplicateFile/CalculateListPage";
  22. import ManageDuplicateFiles from "@/pages/DuplicateFile/ManageDuplicateFiles";
  23. import FilesManage from "@/pages/DuplicateFile/FilesManage";
  24. import ChatPage from "@/pages/Chat/Chat";
  25. /* 收藏夹管理 */
  26. import BookmarksIndex from "@/pages/Bookmarks/List";
  27. import BookmarksList from "@/pages/Bookmarks/List";
  28. import Chat from "@/pages/Chat/Chat";
  29. /* export default function Router() {
  30. return (
  31. <Routes>
  32. <Route path="/" element={<Layout />}>
  33. <Route index element={<DuplicateFileIndex />} />
  34. <Route path={"about"} element={<About />} />
  35. <Route path={"finder"} element={<Finder />} />
  36. <Route path={"setting"} element={<Setting />} />
  37. <Route path={"home"} element={<Home />} />
  38. <Route path={"file-sort"} element={<FileSort />} />
  39. <Route path={"file-clear"} element={<FileClear />} />
  40. <Route path={"duplicate-file"} element={<DuplicateFileIndex />} >
  41. <Route index element={<DuplicateFile />} />
  42. <Route path={"info"} element={<DuplicateFileInfo />} />
  43. </Route>
  44. </Route>
  45. </Routes>
  46. );
  47. } */
  48. const router = createBrowserRouter(
  49. [
  50. {
  51. path: "/",
  52. id: "root",
  53. element: <Layout />,
  54. /*
  55. // loader: rootLoader,
  56. 每个路由都可以定义一个“加载器”函数,以便在路由元素呈现之前向路由元素提供数据。
  57. loader: async () => {
  58. return fakeDb.from("teams").select("*");
  59. },
  60. */
  61. children: [
  62. {
  63. path: "",
  64. element: <DuplicateFileIndex />,
  65. children: [
  66. {
  67. path: "",
  68. element: <DuplicateFile />,
  69. },
  70. {
  71. path: "info/:fileId",
  72. element: <DuplicateFileInfo />,
  73. },
  74. {
  75. path: "calculate/:fileId",
  76. element: <CalculateDuplicateFiles />,
  77. },
  78. {
  79. path: "calculate-list/:fileId",
  80. element: <CalculateListPage />,
  81. },
  82. {
  83. path: "ManageDuplicateFiles/:fileId",
  84. element: <ManageDuplicateFiles />,
  85. },
  86. {
  87. path: "files-manage/:fileId",
  88. element: <FilesManage />,
  89. },
  90. ],
  91. },
  92. {
  93. path: "about",
  94. element: <About />,
  95. },
  96. {
  97. path: "finder",
  98. element: <Finder />,
  99. },
  100. {
  101. path: "setting",
  102. element: <Setting />,
  103. },
  104. {
  105. path: "file-sort",
  106. element: <FileSort />,
  107. },
  108. {
  109. path: "file-clear",
  110. element: <FileClear />,
  111. },
  112. {
  113. path: "chat",
  114. element: <ChatPage />,
  115. }
  116. // {
  117. // path: "duplicate-file",
  118. // element: <DuplicateFileIndex />,
  119. // children: [
  120. // {
  121. // path: "",
  122. // element: <DuplicateFile />,
  123. // },
  124. // {
  125. // path: "info/:fileId",
  126. // element: <DuplicateFileInfo />,
  127. // }
  128. // ]
  129. // },
  130. ],
  131. },
  132. ],
  133. {
  134. future: {
  135. // Normalize `useNavigation()`/`useFetcher()` `formMethod` to uppercase
  136. v7_normalizeFormMethod: true,
  137. },
  138. },
  139. );
  140. export default router;