Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
| import { useEffect } from "react"; | |
| /** | |
| * This will turn the page in portrait or landscape depending on the number of pages | |
| */ | |
| const usePageOrientation = () => { | |
| useEffect(() => { | |
| const updatePageOrientation = () => { | |
| const pages = document.querySelectorAll(".comic-page"); | |
| const styleEl = document.createElement("style"); | |
| // Append style element to the head | |
| document.head.appendChild(styleEl); | |
| // Get the style sheet created in the above step | |
| const styleSheet = styleEl.sheet as CSSStyleSheet; | |
| if (pages.length >= 2) { | |
| styleSheet.insertRule("@page { size: landscape }", 0); | |
| } else { | |
| styleSheet.insertRule("@page { size: portrait }", 0); | |
| } | |
| }; | |
| // Execute when the DOM is fully loaded | |
| updatePageOrientation(); | |
| // Also execute when the window is resized | |
| window.addEventListener("resize", updatePageOrientation); | |
| // Clean up event listener on unmount | |
| return () => { | |
| window.removeEventListener("resize", updatePageOrientation); | |
| }; | |
| }, []); // Empty dependency array ensures this runs once on mount and cleanup on unmount | |
| }; | |
| export default usePageOrientation; |