refactoring

This commit is contained in:
dahoud
2026-03-31 09:14:47 +00:00
parent 9bfffeeebe
commit 5383df6dcb
200 changed files with 11192 additions and 7063 deletions

View File

@@ -1,6 +1,7 @@
/// BLoC pour la gestion des logs et du monitoring
library logs_monitoring_bloc;
import 'package:dio/dio.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:injectable/injectable.dart';
import 'package:equatable/equatable.dart';
@@ -105,6 +106,7 @@ class LogsMonitoringBloc extends Bloc<LogsMonitoringEvent, LogsMonitoringState>
);
emit(LogsLoaded(logs));
} catch (e, st) {
if (e is DioException && e.type == DioExceptionType.cancel) return;
AppLogger.error('LogsMonitoringBloc: searchLogs échoué', error: e, stackTrace: st);
emit(LogsMonitoringError('Erreur: ${e.toString()}'));
}
@@ -116,6 +118,7 @@ class LogsMonitoringBloc extends Bloc<LogsMonitoringEvent, LogsMonitoringState>
final metrics = await _repository.getMetrics();
emit(MetricsLoaded(metrics));
} catch (e, st) {
if (e is DioException && e.type == DioExceptionType.cancel) return;
AppLogger.error('LogsMonitoringBloc: loadMetrics échoué', error: e, stackTrace: st);
emit(LogsMonitoringError('Erreur: ${e.toString()}'));
}
@@ -127,6 +130,7 @@ class LogsMonitoringBloc extends Bloc<LogsMonitoringEvent, LogsMonitoringState>
final alerts = await _repository.getAlerts();
emit(AlertsLoaded(alerts));
} catch (e, st) {
if (e is DioException && e.type == DioExceptionType.cancel) return;
AppLogger.error('LogsMonitoringBloc: loadAlerts échoué', error: e, stackTrace: st);
emit(LogsMonitoringError('Erreur: ${e.toString()}'));
}
@@ -140,6 +144,7 @@ class LogsMonitoringBloc extends Bloc<LogsMonitoringEvent, LogsMonitoringState>
emit(AlertsLoaded(alerts));
emit(LogsMonitoringSuccess('Alerte acquittée'));
} catch (e, st) {
if (e is DioException && e.type == DioExceptionType.cancel) return;
AppLogger.error('LogsMonitoringBloc: acknowledgeAlert échoué', error: e, stackTrace: st);
emit(LogsMonitoringError('Erreur: ${e.toString()}'));
}

View File

@@ -171,8 +171,8 @@ class _LogsPageState extends State<LogsPage>
/// Header avec métriques système en temps réel
Widget _buildHeader() {
return Container(
margin: const EdgeInsets.all(SpacingTokens.lg),
padding: const EdgeInsets.all(SpacingTokens.xl),
margin: const EdgeInsets.symmetric(horizontal: SpacingTokens.sm, vertical: SpacingTokens.xs),
padding: const EdgeInsets.all(SpacingTokens.md),
decoration: BoxDecoration(
gradient: const LinearGradient(
colors: ColorTokens.primaryGradient,
@@ -193,14 +193,14 @@ class _LogsPageState extends State<LogsPage>
Row(
children: [
Container(
padding: const EdgeInsets.all(SpacingTokens.lg),
padding: const EdgeInsets.all(SpacingTokens.sm),
decoration: BoxDecoration(
color: Colors.white.withOpacity(0.2),
borderRadius: BorderRadius.circular(SpacingTokens.radiusLg),
borderRadius: BorderRadius.circular(SpacingTokens.radiusMd),
),
child: const Icon(Icons.monitor_heart, color: Colors.white, size: 24),
child: const Icon(Icons.monitor_heart, color: Colors.white, size: 20),
),
const SizedBox(width: SpacingTokens.xl),
const SizedBox(width: SpacingTokens.md),
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
@@ -248,7 +248,7 @@ class _LogsPageState extends State<LogsPage>
),
],
),
const SizedBox(height: SpacingTokens.xl),
const SizedBox(height: SpacingTokens.sm),
// Métriques système en temps réel
Row(
children: [
@@ -259,7 +259,7 @@ class _LogsPageState extends State<LogsPage>
Expanded(child: UFMetricCard(label: 'Réseau', value: '${_systemMetrics['network']?.toStringAsFixed(1)} MB/s', icon: Icons.network_check, color: ColorTokens.info)),
],
),
const SizedBox(height: SpacingTokens.lg),
const SizedBox(height: SpacingTokens.sm),
Row(
children: [
Expanded(child: UFMetricCard(label: 'Connexions', value: '${_systemMetrics['activeConnections']}', icon: Icons.people, color: ColorTokens.success)),