import { useState, useEffect } from 'react'; import { useQuery } from '@tanstack/react-query'; import { useTranslation } from 'react-i18next'; import { api, type Printer } from '../../api/client'; interface SpoolBuddyTopBarProps { selectedPrinterId: number | null; onPrinterChange: (id: number) => void; deviceOnline: boolean; } export function SpoolBuddyTopBar({ selectedPrinterId, onPrinterChange, deviceOnline }: SpoolBuddyTopBarProps) { const { t } = useTranslation(); const [currentTime, setCurrentTime] = useState(new Date()); const { data: printers = [] } = useQuery({ queryKey: ['printers'], queryFn: () => api.getPrinters(), }); // Auto-select first printer useEffect(() => { if (!selectedPrinterId && printers.length > 0) { onPrinterChange(printers[0].id); } }, [printers, selectedPrinterId, onPrinterChange]); // Clock useEffect(() => { const timer = setInterval(() => setCurrentTime(new Date()), 30000); return () => clearInterval(timer); }, []); const formatTime = (date: Date) => date.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' }); return (