diff options
| author | Rafi Zadanly <zadanlyr@gmail.com> | 2023-03-11 13:37:29 +0700 |
|---|---|---|
| committer | Rafi Zadanly <zadanlyr@gmail.com> | 2023-03-11 13:37:29 +0700 |
| commit | d26133d39e7d9cd510fdc72d239303f4ba918bdd (patch) | |
| tree | ac3266dbd2d949c6cfc230183e18014d7df0552b /src/core/hooks/useDevice.js | |
| parent | 1218d8109380488ab7d15538fe3f828883dbc822 (diff) | |
create useDevice hooks, optimize DesktopView and MobileView, and show category API data
Diffstat (limited to 'src/core/hooks/useDevice.js')
| -rw-r--r-- | src/core/hooks/useDevice.js | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/core/hooks/useDevice.js b/src/core/hooks/useDevice.js new file mode 100644 index 00000000..ca11610d --- /dev/null +++ b/src/core/hooks/useDevice.js @@ -0,0 +1,36 @@ +const { useState, useEffect } = require('react') + +const useDevice = () => { + const [isMobile, setIsMobile] = useState(false) + const [isDesktop, setIsDesktop] = useState(false) + + useEffect(() => { + const handleResize = () => { + if (window.innerWidth < 768) { + setIsMobile(true) + } else { + setIsMobile(false) + } + + if (window.innerWidth >= 768) { + setIsDesktop(true) + } else { + setIsDesktop(false) + } + } + + handleResize() + window.addEventListener('resize', handleResize) + + return () => { + window.removeEventListener('resize', handleResize) + } + }, []) + + return { + isMobile, + isDesktop + } +} + +export default useDevice |
