- Created 8 separate BLoCs (Home, Library, BookDetails, AddBook, Scanner, Categories, Wishlist, Settings) - Each BLoC has its own event, state, and bloc files - Added 70 comprehensive tests covering all BLoC functionality - All tests passing (70/70) - Fixed linting issues and updated deprecated APIs - Improved code organization and maintainability
22 lines
634 B
Dart
22 lines
634 B
Dart
import 'package:flutter_bloc/flutter_bloc.dart';
|
|
import '../../models/models.dart';
|
|
import 'home_event.dart';
|
|
import 'home_state.dart';
|
|
|
|
class HomeBloc extends Bloc<HomeEvent, HomeState> {
|
|
HomeBloc() : super(HomeState.initial()) {
|
|
on<LoadHomeData>(_onLoadHomeData);
|
|
on<NavigateToScreen>(_onNavigateToScreen);
|
|
}
|
|
|
|
void _onLoadHomeData(LoadHomeData event, Emitter<HomeState> emit) {
|
|
emit(state.copyWith(
|
|
currentScreen: AppScreen.library,
|
|
isLoading: false,
|
|
));
|
|
}
|
|
|
|
void _onNavigateToScreen(NavigateToScreen event, Emitter<HomeState> emit) {
|
|
emit(state.copyWith(currentScreen: event.screen));
|
|
}
|
|
} |