"use client"; import { useState, useEffect } from 'react'; import { Capacitor } from '@capacitor/core'; import { Network } from '@capacitor/network'; import { WifiOff } from 'lucide-react'; import { useSettings } from '@/contexts/settings-context'; import { cn } from '@/lib/utils'; export const NetworkStatusIndicator = () => { const { t } = useSettings(); const [isOnline, setIsOnline] = useState(true); useEffect(() => { const handleStatusChange = (status: { connected: boolean }) => { setIsOnline(status.connected); }; if (Capacitor.getPlatform() !== 'web') { Network.getStatus().then(handleStatusChange); const listener = Network.addListener('networkStatusChange', handleStatusChange); return () => { listener.remove(); }; } else { const updateOnlineStatus = () => setIsOnline(navigator.onLine); window.addEventListener('online', updateOnlineStatus); window.addEventListener('offline', updateOnlineStatus); updateOnlineStatus(); // initial check return () => { window.removeEventListener('online', updateOnlineStatus); window.removeEventListener('offline', updateOnlineStatus); }; } }, []); if (isOnline) { return null; } return (