From aeaa92df3fc080a3d0678d14d18f622a97de6541 Mon Sep 17 00:00:00 2001 From: Ivan <8611739+IRBorisov@users.noreply.github.com> Date: Thu, 26 Sep 2024 11:38:55 +0300 Subject: [PATCH] B: Correctly process invalid manuals topic name --- rsconcept/frontend/src/app/Router.tsx | 4 ++++ rsconcept/frontend/src/app/urls.ts | 2 ++ rsconcept/frontend/src/pages/ManualsPage/ManualsPage.tsx | 9 +++++++++ 3 files changed, 15 insertions(+) diff --git a/rsconcept/frontend/src/app/Router.tsx b/rsconcept/frontend/src/app/Router.tsx index 779f9cee..fc9d93ea 100644 --- a/rsconcept/frontend/src/app/Router.tsx +++ b/rsconcept/frontend/src/app/Router.tsx @@ -28,6 +28,10 @@ export const Router = createBrowserRouter([ path: '', element: }, + { + path: `${routes.not_found}`, + element: + }, { path: routes.login, element: diff --git a/rsconcept/frontend/src/app/urls.ts b/rsconcept/frontend/src/app/urls.ts index d96a6759..d36ef301 100644 --- a/rsconcept/frontend/src/app/urls.ts +++ b/rsconcept/frontend/src/app/urls.ts @@ -8,6 +8,7 @@ import { buildConstants } from '@/utils/buildConstants'; * Routes. */ export const routes = { + not_found: 'not-found', login: 'login', signup: 'signup', profile: 'profile', @@ -39,6 +40,7 @@ interface OssProps { * Internal navigation URLs. */ export const urls = { + page404: '/not-found', admin: `${buildConstants.backend}/admin`, rest_api: `${buildConstants.backend}/`, home: '/', diff --git a/rsconcept/frontend/src/pages/ManualsPage/ManualsPage.tsx b/rsconcept/frontend/src/pages/ManualsPage/ManualsPage.tsx index aa2d5284..cbed048b 100644 --- a/rsconcept/frontend/src/pages/ManualsPage/ManualsPage.tsx +++ b/rsconcept/frontend/src/pages/ManualsPage/ManualsPage.tsx @@ -7,6 +7,7 @@ import { useConceptOptions } from '@/context/ConceptOptionsContext'; import { useConceptNavigation } from '@/context/NavigationContext'; import useQueryStrings from '@/hooks/useQueryStrings'; import { HelpTopic } from '@/models/miscellaneous'; +import { PARAMETER } from '@/utils/constants'; import TopicsList from './TopicsList'; import ViewTopic from './ViewTopic'; @@ -18,6 +19,14 @@ function ManualsPage() { const { mainHeight } = useConceptOptions(); + if (!Object.values(HelpTopic).includes(activeTopic)) { + setTimeout(() => { + router.push(urls.page404); + }, PARAMETER.refreshTimeout); + console.log(1); + return null; + } + const onSelectTopic = useCallback( (newTopic: HelpTopic) => { router.push(urls.help_topic(newTopic));