import 'package:flutter/material.dart'; enum SyncStatus { idle, syncing, synced, error, } class SyncStatusIndicator extends StatelessWidget { const SyncStatusIndicator({ required this.status, this.errorMessage, super.key, }); final SyncStatus status; final String? errorMessage; @override Widget build(BuildContext context) { switch (status) { case SyncStatus.idle: return const SizedBox.shrink(); case SyncStatus.syncing: return const Tooltip( message: 'Sincronizando...', child: SizedBox( width: 16, height: 16, child: CircularProgressIndicator( strokeWidth: 2, valueColor: AlwaysStoppedAnimation( Color.fromARGB(255, 150, 150, 150), ), ), ), ); case SyncStatus.synced: return const Tooltip( message: 'Sincronizado', child: Icon( Icons.check_circle, size: 16, color: Colors.green, ), ); case SyncStatus.error: return Tooltip( message: errorMessage ?? 'Error al sincronizar', child: const Icon( Icons.error, size: 16, color: Colors.red, ), ); } } }