import 'package:flutter/foundation.dart';

/// Service pour gérer l'état de réinitialisation de Hive
/// Permet de stocker l'information indiquant si Hive a été réinitialisé
/// et de notifier les widgets intéressés
class HiveResetStateService extends ChangeNotifier {
  /// Indique si Hive a été réinitialisé
  bool _wasReset = false;

  /// Indique si le dialogue de réinitialisation a déjà été affiché
  bool _dialogShown = false;

  /// Getter pour savoir si Hive a été réinitialisé
  bool get wasReset => _wasReset;

  /// Getter pour savoir si le dialogue a déjà été affiché
  bool get dialogShown => _dialogShown;

  /// Marque Hive comme ayant été réinitialisé
  void markAsReset() {
    _wasReset = true;
    notifyListeners();
  }

  /// Marque le dialogue comme ayant été affiché
  void markDialogAsShown() {
    _dialogShown = true;
    notifyListeners();
  }

  /// Réinitialise l'état (à utiliser après une déconnexion par exemple)
  void reset() {
    _wasReset = false;
    _dialogShown = false;
    notifyListeners();
  }
}

/// Instance globale du service
final hiveResetStateService = HiveResetStateService();
