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();
      print('Pedido Sincronizado');
      // if (!hasMoreToSync) {
      //   timer.cancel();
      //   _syncTimer = null;
      //   print('Sincronización completa, no hay más pedidos por sincronizar.');
      // }
    });
  }

  void stopSync() {
    _syncTimer?.cancel();
    _syncTimer = null;
  }

  bool isSyncing() {
    return _syncTimer != null && _syncTimer!.isActive;
  }
}
