summaryrefslogtreecommitdiff
path: root/src/core/hooks/useDevice.js
blob: ca11610d6bde4cc09c49a226d4882d8ae59a35e1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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