From 53e93dbab0a449264e22551e61fc25b00bf762d1 Mon Sep 17 00:00:00 2001
From: Ivan <8611739+IRBorisov@users.noreply.github.com>
Date: Thu, 26 Sep 2024 11:39:14 +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));