import { useEffect, useState } from "react"; /** Wide enough to keep the conversation readable beside a working pane. */ const WIDE_LAYOUT_QUERY = "(min-width: 1024px)"; export function useWideLayout(): boolean { const [wide, setWide] = useState(() => window.matchMedia(WIDE_LAYOUT_QUERY).matches); useEffect(() => { const media = window.matchMedia(WIDE_LAYOUT_QUERY); const sync = () => setWide(media.matches); sync(); media.addEventListener("change", sync); return () => media.removeEventListener("change", sync); }, []); return wide; }