"use client"; import { useEffect, useState } from 'react'; import { Button } from "@/components/ui/button"; import { X, Minus, Square } from 'lucide-react'; // We're now using the global type declaration from types/electron.d.ts export function WindowControls() { const [isElectron, setIsElectron] = useState(false); const [isMaximized, setIsMaximized] = useState(false); useEffect(() => { // Check if we're running in Electron if (window.electron) { setIsElectron(true); // Set up listeners for window state const handleMaximize = () => setIsMaximized(true); const handleUnmaximize = () => setIsMaximized(false); window.electron.windowState?.onMaximized(handleMaximize); window.electron.windowState?.onUnmaximized(handleUnmaximize); // Clean up listeners on unmount return () => { if (window.electron && window.electron.windowState) { window.electron.windowState.removeMaximizedListener(); window.electron.windowState.removeUnmaximizedListener(); } }; } }, []); // If not in Electron, don't render anything if (!isElectron) return null; return (
); }