diff options
Diffstat (limited to '')
-rw-r--r-- | docusaurus/src/theme/NotFound/Redirection.tsx (renamed from docusaurus/src/theme/NotFound/redirectInput.tsx) | 49 |
1 files changed, 19 insertions, 30 deletions
diff --git a/docusaurus/src/theme/NotFound/redirectInput.tsx b/docusaurus/src/theme/NotFound/Redirection.tsx index 4e29b4a..3fe2d6d 100644 --- a/docusaurus/src/theme/NotFound/redirectInput.tsx +++ b/docusaurus/src/theme/NotFound/Redirection.tsx @@ -1,41 +1,30 @@ -/** - * @license - * SPDX-License-Identifier: AGPL-3.0-or-later - * This file is part of Wolfree. - * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - */ - -import { useEffect } from "react"; +/* SPDX-License-Identifier: AGPL-3.0-or-later */ -const redirectInput = () => { - useEffect(() => { - const redirectToInputPage = () => { - const pathname = window.location.pathname; +import React from "react"; +import typescriptNever from "../../functions/typescriptNever"; - const isExample = pathname.includes("/example"); - if (!isExample) { - window.location.href = "/"; - return; - } +export default (): React.JSX.Element => { + React.useEffect((): void => { + const pathname = window.location.pathname; - const filename = pathname.split("/").pop(); - if (!filename) { - window.location.href = "/"; - return; - } + const isExample = pathname.includes("/example"); - const topic = "topic " + filename.replace(/-/g, " "); + if (isExample === true) { + const topic = "topic " + pathname.split("/").pop().replace(/-/g, " "); const url = new URL("/input/", window.location.href); url.searchParams.set("i", topic); - window.location.href = url.href; - }; - - redirectToInputPage(); - }, []); // The effect runs only once on mount + window.location.replace(url); + } else if (isExample === false) { + window.location.replace("/"); + } else { + window.location.replace("/"); + typescriptNever(isExample); + } + }, []); // Empty dependency array means the effect runs only once after initial render. + + return <></>; }; -export default redirectInput; - /* * test case: * |