From a26a755505e8642d5cb10b7329ce030f2d8ed8ea Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Sat, 13 Sep 2025 18:35:08 -0500 Subject: [PATCH] Give useIsMobile an initial state --- src/hooks/useIsMobile.tsx | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/hooks/useIsMobile.tsx b/src/hooks/useIsMobile.tsx index 2b0fe1d..0fae217 100644 --- a/src/hooks/useIsMobile.tsx +++ b/src/hooks/useIsMobile.tsx @@ -1,19 +1,19 @@ -import * as React from "react" +import { useEffect, useState } from "react" -const MOBILE_BREAKPOINT = 768 +const MOBILE_BREAKPOINT = 768; -export function useIsMobile() { - const [isMobile, setIsMobile] = React.useState(undefined) +export function useIsMobile(): boolean { + const [isMobile, setIsMobile] = useState(window.innerWidth < MOBILE_BREAKPOINT); - React.useEffect(() => { - const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`) + useEffect(() => { + const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`); const onChange = () => { - setIsMobile(window.innerWidth < MOBILE_BREAKPOINT) + setIsMobile(window.innerWidth < MOBILE_BREAKPOINT); } - mql.addEventListener("change", onChange) - setIsMobile(window.innerWidth < MOBILE_BREAKPOINT) - return () => mql.removeEventListener("change", onChange) - }, []) + mql.addEventListener("change", onChange); + setIsMobile(window.innerWidth < MOBILE_BREAKPOINT); + return () => mql.removeEventListener("change", onChange); + }, []); - return !!isMobile + return !!isMobile; }