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