'use client';

import {useContext} from 'react';
import OfflineContext from '@/context/OfflineContext';
import {Wifi, Circle} from 'lucide-react';
import {useTranslations} from '@/lib/i18n';

export default function OfflineToggle() {
    const {offlineMode, toggleOfflineMode} = useContext(OfflineContext);
    const t = useTranslations();

    if (!offlineMode.isDatabaseInitialized) {
        return null;
    }

    return (
        <button
            onClick={toggleOfflineMode}
            className={`
                flex items-center gap-2 px-3 py-1.5 rounded-lg border transition-all
                ${offlineMode.isOffline
                    ? 'bg-orange-500/20 border-orange-500/40 hover:bg-orange-500/30'
                    : 'bg-green-500/20 border-green-500/40 hover:bg-green-500/30'
                }
            `}
            title={offlineMode.isOffline ? t('offline.toggle.switchToOnline') : t('offline.toggle.switchToOffline')}
        >
            {offlineMode.isOffline
                ? <Circle className="w-3 h-3 text-orange-300"/>
                : <Wifi className="w-3 h-3 text-green-300"/>
            }
            <span className={`text-xs font-medium ${offlineMode.isOffline ? 'text-orange-200' : 'text-green-200'}`}>
                {offlineMode.isOffline ? t('offline.toggle.offline') : t('offline.toggle.online')}
            </span>
        </button>
    );
}
