From 72d8b4e6bee0ffac79e96dd649a9da2adb86b507 Mon Sep 17 00:00:00 2001 From: name Date: Wed, 27 Sep 2023 11:34:23 +0000 Subject: 2023-09-26 --- docusaurus/src/theme/Footer/InputPreloader.tsx | 46 +++++++--------- docusaurus/src/theme/Footer/index.tsx | 27 ++++----- docusaurus/src/theme/NotFound/DDoSProtection.tsx | 13 +---- docusaurus/src/theme/NotFound/Redirection.tsx | 59 ++++++++++++++++++++ docusaurus/src/theme/NotFound/index.tsx | 37 +++++-------- docusaurus/src/theme/NotFound/redirectInput.tsx | 70 ------------------------ 6 files changed, 107 insertions(+), 145 deletions(-) create mode 100644 docusaurus/src/theme/NotFound/Redirection.tsx delete mode 100644 docusaurus/src/theme/NotFound/redirectInput.tsx (limited to 'docusaurus/src/theme') diff --git a/docusaurus/src/theme/Footer/InputPreloader.tsx b/docusaurus/src/theme/Footer/InputPreloader.tsx index 325f8a7..2ba2e19 100644 --- a/docusaurus/src/theme/Footer/InputPreloader.tsx +++ b/docusaurus/src/theme/Footer/InputPreloader.tsx @@ -1,35 +1,31 @@ -/** - * @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 React, { useEffect, useState } from "react"; - -const InputPreloader = () => { - const [showIframe, setShowIframe] = useState(false); - - useEffect(() => { - const handleIframeLoad = () => { - // Show the iframe after a 3000ms delay - const timerId = setTimeout(() => setShowIframe(true), 3000); - // Cleanup the timer when the component unmounts - return () => clearTimeout(timerId); - }; +/* SPDX-License-Identifier: AGPL-3.0-or-later */ - window.scroll(0, 0); +import React from "react"; + +export default (): React.JSX.Element => { + const [insertIframe, setInsertIframe] = React.useState(false); + + React.useEffect((): (() => void) => { + const handleIframeLoad = (): (() => void) => { + // Insert the iframe after a 3000ms delay. + const timerId = setTimeout((): void => setInsertIframe(true), 3000); + + // Cleanup the timer when the component unmounts. + return (): void => clearTimeout(timerId); + }; window.addEventListener("load", handleIframeLoad); - // Cleanup the event listener when the component unmounts - return () => window.removeEventListener("load", handleIframeLoad); - }, []); // Empty dependency array means the effect runs only once after initial render + window.scroll(0, 0); + + // Cleanup the event listener when the component unmounts. + return (): void => window.removeEventListener("load", handleIframeLoad); + }, []); // Empty dependency array means the effect runs only once after initial render. return ( <> {/* Use a descriptive title for accessibility */} - {showIframe && ( + {insertIframe && (