Danilo Woznica
3 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with
17 additions and
2 deletions
-
beta/src/components/Layout/useMediaQuery.tsx
|
|
@ -17,14 +17,29 @@ const useMediaQuery = (width: number) => { |
|
|
|
|
|
|
|
useEffect(() => { |
|
|
|
const media = window.matchMedia(`(max-width: ${width}px)`); |
|
|
|
media.addEventListener('change', updateTarget); |
|
|
|
|
|
|
|
try { |
|
|
|
// Chrome & Firefox
|
|
|
|
media.addEventListener('change', updateTarget); |
|
|
|
} catch { |
|
|
|
// @deprecated method - Safari <= iOS12
|
|
|
|
media.addListener(updateTarget); |
|
|
|
} |
|
|
|
|
|
|
|
// Check on mount (callback is not called until a change occurs)
|
|
|
|
if (media.matches) { |
|
|
|
setTargetReached(true); |
|
|
|
} |
|
|
|
|
|
|
|
return () => media.removeEventListener('change', updateTarget); |
|
|
|
return () => { |
|
|
|
try { |
|
|
|
// Chrome & Firefox
|
|
|
|
media.removeEventListener('change', updateTarget); |
|
|
|
} catch { |
|
|
|
// @deprecated method - Safari <= iOS12
|
|
|
|
media.removeListener(updateTarget); |
|
|
|
} |
|
|
|
}; |
|
|
|
}, [updateTarget, width]); |
|
|
|
|
|
|
|
return targetReached; |
|
|
|