import { useEffect, useState } from "react"; // Тот же брейкпоинт, что использует sidebar.css: на >=900px левая навигация // становится статичной (десктоп-раскладка), ниже — мобильная. const DESKTOP_QUERY = "(min-width: 900px)"; function matchesDesktop() { return typeof window !== "undefined" && window.matchMedia(DESKTOP_QUERY).matches; } /** * Хук «шире 900px». Используется для десктоп-only страниц (админ-панель): * весь связанный UI не показывается на мобильной раскладке вообще. */ export function useIsDesktop() { const [isDesktop, setIsDesktop] = useState(matchesDesktop); useEffect(() => { const mql = window.matchMedia(DESKTOP_QUERY); const onChange = (e) => setIsDesktop(e.matches); mql.addEventListener("change", onChange); return () => mql.removeEventListener("change", onChange); }, []); return isDesktop; }