summaryrefslogtreecommitdiffstats
path: root/docusaurus/src/theme/NotFound/Redirection.tsx
diff options
context:
space:
mode:
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:
*