import React, { useState, useEffect } from 'react'; import { Box, IconButton, Icon } from 'folds'; import { invoke } from '@tauri-apps/api/core'; import * as css from './WindowControls.css'; export function WindowControls() { const [isMaximized, setIsMaximized] = useState(false); // Check initial maximized state useEffect(() => { const checkMaximized = async () => { try { const maximized = await invoke('window_is_maximized'); setIsMaximized(maximized); } catch (error) { console.error('Failed to check window state:', error); } }; checkMaximized(); }, []); const handleMinimize = async () => { try { await invoke('window_minimize'); } catch (error) { console.error('Failed to minimize window:', error); } }; const handleMaximize = async () => { try { if (isMaximized) { await invoke('window_unmaximize'); } else { await invoke('window_maximize'); } setIsMaximized(!isMaximized); } catch (error) { console.error('Failed to toggle maximize:', error); } }; const handleClose = async () => { try { await invoke('window_close'); } catch (error) { console.error('Failed to close window:', error); } }; // Only render on desktop (when Tauri is available) if (typeof (window as any).__TAURI__ === 'undefined') { return null; } return ( ); }