Files
BudgetApp/lib/logic/settings/settings_state.dart
T
Sanders 9bae137d08 Refactors user management to use UserCubit
This commit refactors the user management system to utilize UserCubit, improving state management and separation of concerns.

- Replaces UserService with UserCubit for managing user state.
- Introduces AppSettings and GlobalSettings models and repositories for managing app-level settings and configurations.
- Modifies dependency injection to register the new repositories and cubits.
- Updates UI components (LoginPage, SettingsPage, HomePage, AddTransactionDialog, CategoryListPage, TagListPage) to interact with UserCubit and SettingsCubit.
- Removes direct dependency on UserRepository in favor of UserCubit for accessing user information.
- Streamlines the authentication process by using UserCubit to handle user creation and login.
- Improves settings management by using dedicated repositories and cubits for app settings.
2025-07-07 00:29:15 +03:00

52 lines
1.1 KiB
Dart

part of 'settings_cubit.dart';
@immutable
abstract class SettingsState extends Equatable {
const SettingsState();
@override
List<Object> get props => [];
}
class SettingsInitial extends SettingsState {
const SettingsInitial();
}
class SettingsLoading extends SettingsState {}
class SettingsLoaded extends SettingsState {
final bool isDarkMode;
final String languageCode;
final String defaultCurrency;
const SettingsLoaded({
required this.isDarkMode,
required this.languageCode,
required this.defaultCurrency,
});
@override
List<Object> get props => [isDarkMode, languageCode, defaultCurrency];
SettingsLoaded copyWith({
bool? isDarkMode,
String? languageCode,
String? defaultCurrency,
}) {
return SettingsLoaded(
isDarkMode: isDarkMode ?? this.isDarkMode,
languageCode: languageCode ?? this.languageCode,
defaultCurrency: defaultCurrency ?? this.defaultCurrency,
);
}
}
class SettingsError extends SettingsState {
final String message;
const SettingsError(this.message);
@override
List<Object> get props => [message];
}