Skip to content

Commit b42d9b9

Browse files
committed
feat(app_bloc): update AppBloc for AppSettings and FeedSettings models
This commit refactors the `AppBloc` to align with the updated core package models. `UserAppSettings` is replaced by `AppSettings`, and `FeedDisplayPreferences` is replaced by `FeedSettings`. The default settings creation logic is adjusted to use the new `FeedSettings` properties, including `feedItemDensity`, `feedItemImageStyle`, and `feedItemClickBehavior`, while removing obsolete fields.
1 parent ac393ad commit b42d9b9

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

lib/app/bloc/app_bloc.dart

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,26 +17,28 @@ part 'app_state.dart';
1717
class AppBloc extends Bloc<AppEvent, AppState> {
1818
AppBloc({
1919
required AuthRepository authenticationRepository,
20-
required DataRepository<AppSettings> userAppSettingsRepository,
20+
required DataRepository<AppSettings> appSettingsRepository,
2121
required DataRepository<RemoteConfig> appConfigRepository,
2222
required local_config.AppEnvironment environment,
2323
Logger? logger,
2424
}) : _authenticationRepository = authenticationRepository,
25-
_userAppSettingsRepository = userAppSettingsRepository,
25+
_appSettingsRepository = appSettingsRepository,
2626
_appConfigRepository = appConfigRepository,
2727
_logger = logger ?? Logger('AppBloc'),
2828
super(AppState(environment: environment)) {
2929
on<AppUserChanged>(_onAppUserChanged);
3030
on<AppLogoutRequested>(_onLogoutRequested);
31-
on<AppUserAppSettingsChanged>(_onAppUserAppSettingsChanged);
31+
on<AppUserAppSettingsChanged>(
32+
_onAppUserAppSettingsChanged,
33+
);
3234

3335
_userSubscription = _authenticationRepository.authStateChanges.listen(
3436
(User? user) => add(AppUserChanged(user)),
3537
);
3638
}
3739

3840
final AuthRepository _authenticationRepository;
39-
final DataRepository<AppSettings> _userAppSettingsRepository;
41+
final DataRepository<AppSettings> _appSettingsRepository;
4042
final DataRepository<RemoteConfig> _appConfigRepository;
4143
final Logger _logger;
4244
late final StreamSubscription<User?> _userSubscription;
@@ -68,7 +70,7 @@ class AppBloc extends Bloc<AppEvent, AppState> {
6870
// If user is authenticated, load their app settings
6971
if (status == AppStatus.authenticated && user != null) {
7072
try {
71-
final appSettings = await _userAppSettingsRepository.read(
73+
final appSettings = await _appSettingsRepository.read(
7274
id: user.id,
7375
);
7476
emit(state.copyWith(appSettings: appSettings));
@@ -78,7 +80,6 @@ class AppBloc extends Bloc<AppEvent, AppState> {
7880
'User app settings not found for user ${user.id}. Creating default.',
7981
);
8082
final defaultSettings = AppSettings(
81-
// Corrected class name
8283
id: user.id,
8384
displaySettings: const DisplaySettings(
8485
baseTheme: AppBaseTheme.system,
@@ -94,13 +95,12 @@ class AppBloc extends Bloc<AppEvent, AppState> {
9495
),
9596
),
9697
feedSettings: const FeedSettings(
97-
// Corrected class name and properties
9898
feedItemDensity: FeedItemDensity.standard,
9999
feedItemImageStyle: FeedItemImageStyle.largeThumbnail,
100-
feedItemClickBehavior: FeedItemClickBehavior.internalNavigation,
100+
feedItemClickBehavior: FeedItemClickBehavior.defaultBehavior,
101101
),
102102
);
103-
await _userAppSettingsRepository.create(item: defaultSettings);
103+
await _appSettingsRepository.create(item: defaultSettings);
104104
emit(state.copyWith(appSettings: defaultSettings));
105105
} on HttpException catch (e, s) {
106106
// Handle HTTP exceptions during settings load

0 commit comments

Comments
 (0)