| import { isBrowser } from '@/lib/utils' |
| import React, { useState } from 'react' |
|
|
| |
| |
| |
| |
| const FullScreenButton = () => { |
| const [isFullScreen, setIsFullScreen] = useState(false) |
|
|
| const handleFullScreenClick = () => { |
| if (!isBrowser) { |
| return |
| } |
| const element = document.documentElement |
| if (!isFullScreen) { |
| if (element.requestFullscreen) { |
| element.requestFullscreen() |
| } else if (element.webkitRequestFullscreen) { |
| element.webkitRequestFullscreen() |
| } else if (element.mozRequestFullScreen) { |
| element.mozRequestFullScreen() |
| } else if (element.msRequestFullscreen) { |
| element.msRequestFullscreen() |
| } |
| setIsFullScreen(true) |
| } else { |
| if (document.exitFullscreen) { |
| document.exitFullscreen() |
| } else if (document.webkitExitFullscreen) { |
| document.webkitExitFullscreen() |
| } else if (document.mozCancelFullScreen) { |
| document.mozCancelFullScreen() |
| } else if (document.msExitFullscreen) { |
| document.msExitFullscreen() |
| } |
| setIsFullScreen(false) |
| } |
| } |
|
|
| return ( |
| <button onClick={handleFullScreenClick} className='dark:text-gray-300'> |
| {isFullScreen ? '退出全屏' : <i className="fa-solid fa-expand"></i>} |
| </button> |
| ) |
| } |
|
|
| export default FullScreenButton |
|
|