feat: synchronisation mode deconnecte fin chat et stats

This commit is contained in:
2025-08-31 18:21:20 +02:00
parent f5bef999df
commit 96af94ad13
129 changed files with 125731 additions and 110375 deletions

View File

@@ -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;
}