wolfree-dockerfile/docusaurus/src/theme/Footer/InputPreloader.tsx

44 lines
1.3 KiB
TypeScript

/**
* @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);
};
window.scroll(0, 0);
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
return (
<>
{/* Use a descriptive title for accessibility */}
{showIframe && (
<iframe
title="Input Page Preloader"
src="/input/"
style={{ display: "none" }}
/>
)}
</>
);
};
export default InputPreloader;