Files
basiclean-webapp/hooks/useIsDesktop.ts
T
2026-05-02 10:41:00 +02:00

26 lines
585 B
TypeScript

"use client";
import { useEffect, useState } from "react";
export function useIsDesktop(breakpoint = 1024) {
const [isDesktop, setIsDesktop] = useState(false);
useEffect(() => {
const mql = window.matchMedia(`(min-width: ${breakpoint}px)`);
const update = () => setIsDesktop(mql.matches);
update();
if (mql.addEventListener) {
mql.addEventListener("change", update);
return () => mql.removeEventListener("change", update);
}
mql.addListener(update);
return () => mql.removeListener(update);
}, [breakpoint]);
return isDesktop;
}