All files / lib/hooks useIsMobile.tsx

0% Statements 0/11
0% Branches 0/2
0% Functions 0/4
0% Lines 0/10

Press n or j to go to the next uncovered block, b, p or k for the previous block.

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                                                       
import React from 'react';
 
interface UseIsMobileProps {
  breakpoint: number;
}
 
export function useIsMobile({ breakpoint }: UseIsMobileProps) {
  const [isMobile, setIsMobile] = React.useState<boolean | undefined>(undefined);
 
  React.useEffect(() => {
    const handleResize = () => {
      if (window.innerWidth <= breakpoint) {
        setIsMobile(true);
      } else {
        setIsMobile(false);
      }
    };
 
    handleResize();
 
    window.addEventListener('resize', handleResize);
 
    return () => window.removeEventListener('resize', handleResize);
  }, [breakpoint]);
 
  return isMobile;
}