Fix: Resolve critical linting issues and bugs (concurrency, syntax, dead code)

This commit is contained in:
2026-02-10 19:12:01 +05:30
parent 5e7bf0d5c0
commit 7570ffa3b9
46 changed files with 4057 additions and 1299 deletions

View File

@@ -1,6 +1,7 @@
import 'package:flutter_bloc/flutter_bloc.dart';
import '../../domain/arguments/get_coverage_stats_arguments.dart';
import '../../domain/arguments/get_shifts_for_date_arguments.dart';
import 'package:krow_core/core.dart';
import 'package:krow_domain/krow_domain.dart';
import '../../domain/usecases/get_coverage_stats_usecase.dart';
import '../../domain/usecases/get_shifts_for_date_usecase.dart';
@@ -13,14 +14,15 @@ import 'coverage_state.dart';
/// - Loading shifts for a specific date
/// - Loading coverage statistics
/// - Refreshing coverage data
class CoverageBloc extends Bloc<CoverageEvent, CoverageState> {
class CoverageBloc extends Bloc<CoverageEvent, CoverageState>
with BlocErrorHandler<CoverageState> {
/// Creates a [CoverageBloc].
CoverageBloc({
required GetShiftsForDateUseCase getShiftsForDate,
required GetCoverageStatsUseCase getCoverageStats,
}) : _getShiftsForDate = getShiftsForDate,
_getCoverageStats = getCoverageStats,
super(const CoverageState()) {
}) : _getShiftsForDate = getShiftsForDate,
_getCoverageStats = getCoverageStats,
super(const CoverageState()) {
on<CoverageLoadRequested>(_onLoadRequested);
on<CoverageRefreshRequested>(_onRefreshRequested);
}
@@ -40,31 +42,31 @@ class CoverageBloc extends Bloc<CoverageEvent, CoverageState> {
),
);
try {
// Fetch shifts and stats concurrently
final List<Object> results = await Future.wait<Object>(<Future<Object>>[
_getShiftsForDate(GetShiftsForDateArguments(date: event.date)),
_getCoverageStats(GetCoverageStatsArguments(date: event.date)),
]);
await handleError(
emit: emit,
action: () async {
// Fetch shifts and stats concurrently
final List<Object> results = await Future.wait<Object>(<Future<Object>>[
_getShiftsForDate(GetShiftsForDateArguments(date: event.date)),
_getCoverageStats(GetCoverageStatsArguments(date: event.date)),
]);
final List<CoverageShift> shifts = results[0] as List<CoverageShift>;
final CoverageStats stats = results[1] as CoverageStats;
final List<CoverageShift> shifts = results[0] as List<CoverageShift>;
final CoverageStats stats = results[1] as CoverageStats;
emit(
state.copyWith(
status: CoverageStatus.success,
shifts: shifts,
stats: stats,
),
);
} catch (error) {
emit(
state.copyWith(
status: CoverageStatus.failure,
errorMessage: error.toString(),
),
);
}
emit(
state.copyWith(
status: CoverageStatus.success,
shifts: shifts,
stats: stats,
),
);
},
onError: (String errorKey) => state.copyWith(
status: CoverageStatus.failure,
errorMessage: errorKey,
),
);
}
/// Handles the refresh requested event.
@@ -78,3 +80,4 @@ class CoverageBloc extends Bloc<CoverageEvent, CoverageState> {
add(CoverageLoadRequested(date: state.selectedDate!));
}
}