import { use } from "react"; import { WindowContext, type WindowContextType } from "@/providers/window"; export const useWindow = () => { const context = use(WindowContext); if (context === undefined) { throw new Error("useWindow must be used within WindowProvider"); } return context; }; export const useWindowControls = () => { const { maximized, minimize, toggleMaximize, close, toggleFullscreen, currentWindow, } = useWindow(); return { maximized, minimize, toggleMaximize, close, toggleFullscreen, currentWindow, } satisfies Pick< WindowContextType, | "maximized" | "minimize" | "toggleMaximize" | "close" | "toggleFullscreen" | "currentWindow" >; }; export const useWindowDecorations = () => { const { decorated, toggleDecorations, refreshDecorated } = useWindow(); return { decorated, toggleDecorations, refreshDecorated } satisfies Pick< WindowContextType, "decorated" | "toggleDecorations" | "refreshDecorated" >; };