Files
bookshelf/bookshelf_flutter/lib/bloc/home/home_bloc.dart
Yuriy Panov 310463e89a refactor: create separate BLoCs for each screen with comprehensive tests
- 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
2026-02-04 14:40:00 +06:00

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