Spaces:
Paused
Paused
| 'use client' | |
| import React from 'react' | |
| export enum MediaType { | |
| mobile = 'mobile', | |
| tablet = 'tablet', | |
| pc = 'pc', | |
| } | |
| const useBreakpoints = () => { | |
| const [width, setWidth] = React.useState(globalThis.innerWidth) | |
| const media = (() => { | |
| if (width <= 640) | |
| return MediaType.mobile | |
| if (width <= 768) | |
| return MediaType.tablet | |
| return MediaType.pc | |
| })() | |
| React.useEffect(() => { | |
| const handleWindowResize = () => setWidth(window.innerWidth) | |
| window.addEventListener('resize', handleWindowResize) | |
| return () => window.removeEventListener('resize', handleWindowResize) | |
| }, []) | |
| return media | |
| } | |
| export default useBreakpoints | |