feat: synchronisation mode deconnecte fin chat et stats
This commit is contained in:
@@ -7,6 +7,7 @@ import 'pages/chat_page.dart';
|
||||
///
|
||||
/// Les permissions sont gérées via le fichier chat_config.yaml
|
||||
class ChatModule {
|
||||
static bool _isInitialized = false;
|
||||
|
||||
/// Initialiser le module chat avec support des rôles
|
||||
///
|
||||
@@ -24,6 +25,12 @@ class ChatModule {
|
||||
int? userEntite,
|
||||
String? authToken,
|
||||
}) async {
|
||||
// Si déjà initialisé, on ne fait rien (évite les réinitialisations)
|
||||
if (_isInitialized) {
|
||||
debugPrint('ChatModule already initialized, skipping...');
|
||||
return;
|
||||
}
|
||||
|
||||
await ChatService.init(
|
||||
apiUrl: apiUrl,
|
||||
userId: userId,
|
||||
@@ -32,6 +39,7 @@ class ChatModule {
|
||||
userEntite: userEntite,
|
||||
authToken: authToken,
|
||||
);
|
||||
_isInitialized = true;
|
||||
}
|
||||
|
||||
/// Obtenir la page de liste des conversations
|
||||
@@ -52,8 +60,24 @@ class ChatModule {
|
||||
);
|
||||
}
|
||||
|
||||
/// Nettoyer les ressources
|
||||
/// Nettoyer les ressources (alias pour cleanup)
|
||||
static void dispose() {
|
||||
ChatService.instance.dispose();
|
||||
cleanup();
|
||||
}
|
||||
|
||||
/// Nettoyer les ressources du module chat (à appeler lors du logout)
|
||||
static void cleanup() {
|
||||
if (_isInitialized) {
|
||||
try {
|
||||
ChatService.instance.dispose();
|
||||
} catch (e) {
|
||||
// Ignorer les erreurs si le service n'est pas initialisé
|
||||
debugPrint('⚠️ Erreur lors du cleanup du chat: $e');
|
||||
}
|
||||
_isInitialized = false;
|
||||
}
|
||||
}
|
||||
|
||||
/// Vérifier si le module est initialisé
|
||||
static bool get isInitialized => _isInitialized;
|
||||
}
|
||||
Reference in New Issue
Block a user