refactoring
This commit is contained in:
@@ -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()}'));
|
||||
}
|
||||
|
||||
@@ -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)),
|
||||
|
||||
Reference in New Issue
Block a user