xref: /MusicFree/src/core/router/routes.tsx (revision b4c389f44ac4dad056e7314478fadd2eca82a4b1)
1*b4c389f4Smaotoumaoimport Home from "@/pages/home";
2*b4c389f4Smaotoumaoimport MusicDetail from "@/pages/musicDetail";
3*b4c389f4Smaotoumaoimport TopList from "@/pages/topList";
4*b4c389f4Smaotoumaoimport TopListDetail from "@/pages/topListDetail";
5*b4c389f4Smaotoumaoimport SearchPage from "@/pages/searchPage";
6*b4c389f4Smaotoumaoimport SheetDetail from "@/pages/sheetDetail";
7*b4c389f4Smaotoumaoimport AlbumDetail from "@/pages/albumDetail";
8*b4c389f4Smaotoumaoimport ArtistDetail from "@/pages/artistDetail";
9*b4c389f4Smaotoumaoimport Setting from "@/pages/setting";
10*b4c389f4Smaotoumaoimport LocalMusic from "@/pages/localMusic";
11*b4c389f4Smaotoumaoimport Downloading from "@/pages/downloading";
12*b4c389f4Smaotoumaoimport SearchMusicList from "@/pages/searchMusicList";
13*b4c389f4Smaotoumaoimport MusicListEditor from "@/pages/musicListEditor";
14*b4c389f4Smaotoumaoimport FileSelector from "@/pages/fileSelector";
15*b4c389f4Smaotoumaoimport RecommendSheets from "@/pages/recommendSheets";
16*b4c389f4Smaotoumaoimport PluginSheetDetail from "@/pages/pluginSheetDetail";
17*b4c389f4Smaotoumaoimport History from "@/pages/history";
18*b4c389f4Smaotoumaoimport SetCustomTheme from "@/pages/setCustomTheme";
19*b4c389f4Smaotoumaoimport Permissions from "@/pages/permissions";
20*b4c389f4Smaotoumaoimport { ROUTE_PATH } from "@/core/router/index.ts";
21*b4c389f4Smaotoumao
22*b4c389f4Smaotoumaotype ValueOf<T> = T[keyof T];
23*b4c389f4Smaotoumaoexport type RoutePaths = ValueOf<typeof ROUTE_PATH>;
24*b4c389f4Smaotoumao
25*b4c389f4Smaotoumaotype IRoutes = {
26*b4c389f4Smaotoumao  path: RoutePaths;
27*b4c389f4Smaotoumao  component: (...args: any[]) => JSX.Element;
28*b4c389f4Smaotoumao};
29*b4c389f4Smaotoumao
30*b4c389f4Smaotoumao
31*b4c389f4Smaotoumaoexport const routes: Array<IRoutes> = [
32*b4c389f4Smaotoumao  {
33*b4c389f4Smaotoumao    path: ROUTE_PATH.HOME,
34*b4c389f4Smaotoumao    component: Home,
35*b4c389f4Smaotoumao  },
36*b4c389f4Smaotoumao  {
37*b4c389f4Smaotoumao    path: ROUTE_PATH.MUSIC_DETAIL,
38*b4c389f4Smaotoumao    component: MusicDetail,
39*b4c389f4Smaotoumao  },
40*b4c389f4Smaotoumao  {
41*b4c389f4Smaotoumao    path: ROUTE_PATH.TOP_LIST,
42*b4c389f4Smaotoumao    component: TopList,
43*b4c389f4Smaotoumao  },
44*b4c389f4Smaotoumao  {
45*b4c389f4Smaotoumao    path: ROUTE_PATH.TOP_LIST_DETAIL,
46*b4c389f4Smaotoumao    component: TopListDetail,
47*b4c389f4Smaotoumao  },
48*b4c389f4Smaotoumao  {
49*b4c389f4Smaotoumao    path: ROUTE_PATH.SEARCH_PAGE,
50*b4c389f4Smaotoumao    component: SearchPage,
51*b4c389f4Smaotoumao  },
52*b4c389f4Smaotoumao  {
53*b4c389f4Smaotoumao    path: ROUTE_PATH.LOCAL_SHEET_DETAIL,
54*b4c389f4Smaotoumao    component: SheetDetail,
55*b4c389f4Smaotoumao  },
56*b4c389f4Smaotoumao  {
57*b4c389f4Smaotoumao    path: ROUTE_PATH.ALBUM_DETAIL,
58*b4c389f4Smaotoumao    component: AlbumDetail,
59*b4c389f4Smaotoumao  },
60*b4c389f4Smaotoumao  {
61*b4c389f4Smaotoumao    path: ROUTE_PATH.ARTIST_DETAIL,
62*b4c389f4Smaotoumao    component: ArtistDetail,
63*b4c389f4Smaotoumao  },
64*b4c389f4Smaotoumao  {
65*b4c389f4Smaotoumao    path: ROUTE_PATH.SETTING,
66*b4c389f4Smaotoumao    component: Setting,
67*b4c389f4Smaotoumao  },
68*b4c389f4Smaotoumao  {
69*b4c389f4Smaotoumao    path: ROUTE_PATH.LOCAL,
70*b4c389f4Smaotoumao    component: LocalMusic,
71*b4c389f4Smaotoumao  },
72*b4c389f4Smaotoumao  {
73*b4c389f4Smaotoumao    path: ROUTE_PATH.DOWNLOADING,
74*b4c389f4Smaotoumao    component: Downloading,
75*b4c389f4Smaotoumao  },
76*b4c389f4Smaotoumao  {
77*b4c389f4Smaotoumao    path: ROUTE_PATH.SEARCH_MUSIC_LIST,
78*b4c389f4Smaotoumao    component: SearchMusicList,
79*b4c389f4Smaotoumao  },
80*b4c389f4Smaotoumao  {
81*b4c389f4Smaotoumao    path: ROUTE_PATH.MUSIC_LIST_EDITOR,
82*b4c389f4Smaotoumao    component: MusicListEditor,
83*b4c389f4Smaotoumao  },
84*b4c389f4Smaotoumao  {
85*b4c389f4Smaotoumao    path: ROUTE_PATH.FILE_SELECTOR,
86*b4c389f4Smaotoumao    component: FileSelector,
87*b4c389f4Smaotoumao  },
88*b4c389f4Smaotoumao  {
89*b4c389f4Smaotoumao    path: ROUTE_PATH.RECOMMEND_SHEETS,
90*b4c389f4Smaotoumao    component: RecommendSheets,
91*b4c389f4Smaotoumao  },
92*b4c389f4Smaotoumao  {
93*b4c389f4Smaotoumao    path: ROUTE_PATH.PLUGIN_SHEET_DETAIL,
94*b4c389f4Smaotoumao    component: PluginSheetDetail,
95*b4c389f4Smaotoumao  },
96*b4c389f4Smaotoumao  {
97*b4c389f4Smaotoumao    path: ROUTE_PATH.HISTORY,
98*b4c389f4Smaotoumao    component: History,
99*b4c389f4Smaotoumao  },
100*b4c389f4Smaotoumao  {
101*b4c389f4Smaotoumao    path: ROUTE_PATH.SET_CUSTOM_THEME,
102*b4c389f4Smaotoumao    component: SetCustomTheme,
103*b4c389f4Smaotoumao  },
104*b4c389f4Smaotoumao  {
105*b4c389f4Smaotoumao    path: ROUTE_PATH.PERMISSIONS,
106*b4c389f4Smaotoumao    component: Permissions,
107*b4c389f4Smaotoumao  },
108*b4c389f4Smaotoumao];
109