From 7c96c386c2178cb1908fbaaed0d536154745a6e3 Mon Sep 17 00:00:00 2001 From: Bill Thornton Date: Mon, 24 Oct 2022 10:57:25 -0400 Subject: [PATCH] Migrate all user routes to react router --- src/routes/index.tsx | 7 +-- src/routes/legacy/index.tsx | 23 ++++++++ src/routes/legacy/userRoutes.ts | 96 ++++++++++++++++++++++++++++++++ src/scripts/routes.js | 98 --------------------------------- 4 files changed, 122 insertions(+), 102 deletions(-) create mode 100644 src/routes/legacy/index.tsx create mode 100644 src/routes/legacy/userRoutes.ts diff --git a/src/routes/index.tsx b/src/routes/index.tsx index 97dcdc679..5b81cb8ae 100644 --- a/src/routes/index.tsx +++ b/src/routes/index.tsx @@ -2,7 +2,7 @@ import React from 'react'; import { Navigate, Route, Routes } from 'react-router-dom'; import ConnectionRequired from '../components/ConnectionRequired'; -import ViewManagerPage from '../components/viewManager/ViewManagerPage'; +import { LEGACY_USER_ROUTES, toViewManagerPageRoute } from './legacy'; import UserNew from './user/usernew'; import Search from './search'; import UserEdit from './user/useredit'; @@ -23,9 +23,8 @@ const AppRoutes = () => ( } /> } /> } /> - - } /> + + {LEGACY_USER_ROUTES.map(toViewManagerPageRoute)} {/* Admin routes */} diff --git a/src/routes/legacy/index.tsx b/src/routes/legacy/index.tsx new file mode 100644 index 000000000..a3b732f96 --- /dev/null +++ b/src/routes/legacy/index.tsx @@ -0,0 +1,23 @@ +import React from 'react'; +import { Route } from 'react-router-dom'; + +import ViewManagerPage, { ViewManagerPageProps } from '../../components/viewManager/ViewManagerPage'; + +export interface LegacyRoute { + path: string, + pageProps: ViewManagerPageProps +} + +export function toViewManagerPageRoute(route: LegacyRoute) { + return ( + + } + /> + ); +} + +export * from './userRoutes'; diff --git a/src/routes/legacy/userRoutes.ts b/src/routes/legacy/userRoutes.ts new file mode 100644 index 000000000..8f48a0ee2 --- /dev/null +++ b/src/routes/legacy/userRoutes.ts @@ -0,0 +1,96 @@ +import { LegacyRoute } from '.'; + +export const LEGACY_USER_ROUTES: LegacyRoute[] = [ + { + path: 'details', + pageProps: { + controller: 'itemDetails/index', + view: 'itemDetails/index.html' + } + }, { + path: 'list.html', + pageProps: { + controller: 'list', + view: 'list.html' + } + }, { + path: 'livetv.html', + pageProps: { + controller: 'livetv/livetvsuggested', + view: 'livetv.html' + } + }, { + path: 'music.html', + pageProps: { + controller: 'music/musicrecommended', + view: 'music/music.html' + } + }, { + path: 'mypreferencesmenu.html', + pageProps: { + controller: 'user/menu/index', + view: 'user/menu/index.html' + } + }, { + path: 'mypreferencescontrols.html', + pageProps: { + controller: 'user/controls/index', + view: 'user/controls/index.html' + } + }, { + path: 'mypreferencesdisplay.html', + pageProps: { + controller: 'user/display/index', + view: 'user/display/index.html' + } + }, { + path: 'mypreferenceshome.html', + pageProps: { + controller: 'user/home/index', + view: 'user/home/index.html' + } + }, { + path: 'mypreferencesquickconnect.html', + pageProps: { + controller: 'user/quickConnect/index', + view: 'user/quickConnect/index.html' + } + }, { + path: 'mypreferencesplayback.html', + pageProps: { + controller: 'user/playback/index', + view: 'user/playback/index.html' + } + }, { + path: 'mypreferencessubtitles.html', + pageProps: { + controller: 'user/subtitles/index', + view: 'user/subtitles/index.html' + } + }, { + path: 'tv.html', + pageProps: { + controller: 'shows/tvrecommended', + view: 'shows/tvrecommended.html' + } + }, { + path: 'video', + pageProps: { + controller: 'playback/video/index', + view: 'playback/video/index.html', + type: 'video-osd', + isFullscreen: true, + isNowPlayingBarEnabled: false, + isThemeMediaSupported: true + } + }, { + path: 'queue', + pageProps: { + controller: 'playback/queue/index', + view: 'playback/queue/index.html', + isFullscreen: true, + isNowPlayingBarEnabled: false, + isThemeMediaSupported: true + } + } +]; diff --git a/src/scripts/routes.js b/src/scripts/routes.js index db43d4592..f8f68a532 100644 --- a/src/scripts/routes.js +++ b/src/scripts/routes.js @@ -70,55 +70,6 @@ import { appRouter } from '../components/appRouter'; controller: 'session/resetPassword/index' }); - defineRoute({ - alias: '/mypreferencesmenu.html', - path: 'user/menu/index.html', - autoFocus: false, - controller: 'user/menu/index' - }); - - defineRoute({ - alias: '/mypreferencescontrols.html', - path: 'user/controls/index.html', - autoFocus: false, - controller: 'user/controls/index' - }); - - defineRoute({ - alias: '/mypreferencesdisplay.html', - path: 'user/display/index.html', - autoFocus: false, - controller: 'user/display/index' - }); - - defineRoute({ - alias: '/mypreferenceshome.html', - path: 'user/home/index.html', - autoFocus: false, - controller: 'user/home/index' - }); - - defineRoute({ - alias: '/mypreferencesquickconnect.html', - path: 'user/quickConnect/index.html', - autoFocus: false, - transition: 'fade', - controller: 'user/quickConnect/index' - }); - defineRoute({ - alias: '/mypreferencesplayback.html', - path: 'user/playback/index.html', - autoFocus: false, - controller: 'user/playback/index' - }); - - defineRoute({ - alias: '/mypreferencessubtitles.html', - path: 'user/subtitles/index.html', - autoFocus: false, - controller: 'user/subtitles/index' - }); - defineRoute({ alias: '/dashboard.html', path: 'dashboard/dashboard.html', @@ -293,27 +244,6 @@ import { appRouter } from '../components/appRouter'; controller: 'dashboard/plugins/repositories/index' }); - defineRoute({ - alias: '/list.html', - path: 'list.html', - autoFocus: false, - controller: 'list' - }); - - defineRoute({ - alias: '/details', - path: 'itemDetails/index.html', - controller: 'itemDetails/index', - autoFocus: false - }); - - defineRoute({ - alias: '/livetv.html', - path: 'livetv.html', - controller: 'livetv/livetvsuggested', - autoFocus: false - }); - defineRoute({ alias: '/livetvguideprovider.html', path: 'livetvguideprovider.html', @@ -393,13 +323,6 @@ import { appRouter } from '../components/appRouter'; controller: 'dashboard/streaming' }); - defineRoute({ - alias: '/tv.html', - path: 'shows/tvrecommended.html', - autoFocus: false, - controller: 'shows/tvrecommended' - }); - defineRoute({ alias: '/wizardremoteaccess.html', path: 'wizard/remote/index.html', @@ -448,27 +371,6 @@ import { appRouter } from '../components/appRouter'; anonymous: true }); - defineRoute({ - alias: '/video', - path: 'playback/video/index.html', - controller: 'playback/video/index', - autoFocus: false, - type: 'video-osd', - supportsThemeMedia: true, - fullscreen: true, - enableMediaControl: false - }); - - defineRoute({ - alias: '/queue', - path: 'playback/queue/index.html', - controller: 'playback/queue/index', - autoFocus: false, - fullscreen: true, - supportsThemeMedia: true, - enableMediaControl: false - }); - defineRoute({ path: '/configurationpage', autoFocus: false,