screen_rotation
Copied to Clipboard
<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <script src="https://unpkg.com/react@17.0.2/umd/react.development.js"></script> <script src="https://unpkg.com/react-dom@17.0.2/umd/react-dom.development.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.26.0/babel.min.js"></script> </head> <body> <div id="app"></div> <script type="text/babel"> const { useState, useEffect } = React function App() { const [fullscreen, setFullscreen] = useState(false); const toggleFullScreen = () => { if (!document.fullscreenElement) { document.documentElement.requestFullscreen(); } else { document.exitFullscreen(); } }; useEffect(() => { const updateFullScreenState = () => { setFullscreen(Boolean(document.fullscreenElement)); }; updateFullScreenState(); document.addEventListener('fullscreenchange', updateFullScreenState); return () => { document.removeEventListener('fullscreenchange', updateFullScreenState); }; }, []); return ( <div className='container'> <h3>React Toggle Fullscreen</h3> {fullscreen ? ( <p>App is in fullscreen mode</p> ) : ( <p>App is not in fullscreen mode</p> )} {!fullscreen ? ( <button onClick={toggleFullScreen}>Fullscreen</button> ) : ( <button onClick={toggleFullScreen}>Exit Fullscreen</button> )} </div> ); }; ReactDOM.render(<App />, document.getElementById("app")); </script> <style> .container { width: 600px; margin: 0 auto; box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.12), 0 2px 4px 0 rgba(0, 0, 0, 0.24); padding: 20px; text-align: center; } h3 { font-size: 24px; margin-bottom: 20px; } p { font-size: 18px; margin-bottom: 10px; } button { padding: 10px 20px; font-size: 16px; background-color: #4caf50; color: white; border: none; border-radius: 4px; cursor: pointer; } button:hover { background-color: #45a049; } button:focus { outline: none; } button:active { background-color: #3e8e41; } </style> </body> </html>