import 'dart:async'; import 'package:flutter/material.dart'; import '../../viewmodels/viewmodels.dart'; class PedidoSync { static final PedidoSync _instance = PedidoSync._internal(); Timer? _syncTimer; factory PedidoSync() { return _instance; } PedidoSync._internal(); void startSync(PedidoViewModel pedidoViewModel) { if (_syncTimer != null && _syncTimer!.isActive) return; _syncTimer = Timer.periodic(Duration(seconds: 5), (timer) async { bool hasMoreToSync = await pedidoViewModel.sincronizarPedidos(); if (!hasMoreToSync) { timer.cancel(); _syncTimer = null; debugPrint( 'Sincronización completa, no hay más pedidos por sincronizar.'); } }); } void stopSync() { _syncTimer?.cancel(); _syncTimer = null; } bool isSyncing() { return _syncTimer != null && _syncTimer!.isActive; } }