import 'package:flutter_bloc/flutter_bloc.dart'; import 'settings_event.dart'; import 'settings_state.dart'; class SettingsBloc extends Bloc { SettingsBloc() : super(SettingsState.initial()) { on(_onLoadSettings); on(_onUpdateTheme); on(_onUpdateLanguage); on(_onToggleNotifications); on(_onClearData); } void _onLoadSettings(LoadSettings event, Emitter emit) { emit(state.copyWith( isDarkMode: false, language: 'English', notificationsEnabled: true, isLoading: false, )); } void _onUpdateTheme(UpdateTheme event, Emitter emit) { emit(state.copyWith(isDarkMode: event.isDarkMode)); } void _onUpdateLanguage(UpdateLanguage event, Emitter emit) { emit(state.copyWith(language: event.language)); } void _onToggleNotifications( ToggleNotifications event, Emitter emit) { emit(state.copyWith(notificationsEnabled: !state.notificationsEnabled)); } void _onClearData(ClearData event, Emitter emit) { emit(state.copyWith(dataCleared: true)); } }