'use client'; import { Check, Loader2, Edit } from 'lucide-react'; import { cn } from '@/lib/utils'; type Status = 'idle' | 'dirty' | 'saving'; interface AutosaveStatusProps { isDirty: boolean; isSaving: boolean; className?: string; } export function AutosaveStatus({ isDirty, isSaving, className }: AutosaveStatusProps) { let status: Status = 'idle'; if (isSaving) { status = 'saving'; } else if (isDirty) { status = 'dirty'; } const messages = { idle: { text: 'Guardado', icon: , className: 'text-green-600', }, dirty: { text: 'Cambios pendientes', icon: , className: 'text-slate-500', }, saving: { text: 'Guardando...', icon: , className: 'text-blue-600', }, }; const currentStatus = messages[status]; return (
{currentStatus.icon} {currentStatus.text}
); }