From d26133d39e7d9cd510fdc72d239303f4ba918bdd Mon Sep 17 00:00:00 2001 From: Rafi Zadanly Date: Sat, 11 Mar 2023 13:37:29 +0700 Subject: create useDevice hooks, optimize DesktopView and MobileView, and show category API data --- src/core/hooks/useDevice.js | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 src/core/hooks/useDevice.js (limited to 'src/core/hooks/useDevice.js') 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 -- cgit v1.2.3