Skip to content

Commit bb2b718

Browse files
committed
fix: I have addressed the bug where changes to feed display settings were not immediately taking effect.
1 parent d1300c8 commit bb2b718

File tree

1 file changed

+32
-27
lines changed

1 file changed

+32
-27
lines changed

lib/settings/view/feed_settings_page.dart

Lines changed: 32 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import 'package:flutter/material.dart';
22
import 'package:flutter_bloc/flutter_bloc.dart';
3+
import 'package:ht_main/app/bloc/app_bloc.dart';
34
import 'package:ht_main/l10n/app_localizations.dart';
45
import 'package:ht_main/l10n/l10n.dart';
56
import 'package:ht_main/settings/bloc/settings_bloc.dart';
@@ -42,33 +43,37 @@ class FeedSettingsPage extends StatelessWidget {
4243
);
4344
}
4445

45-
return Scaffold(
46-
appBar: AppBar(
47-
title: Text(l10n.settingsFeedDisplayTitle), // Reuse title
48-
),
49-
body: ListView(
50-
padding: const EdgeInsets.all(AppSpacing.lg),
51-
children: [
52-
// --- Feed Tile Type ---
53-
_buildDropdownSetting<HeadlineImageStyle>(
54-
context: context,
55-
title: l10n.settingsFeedTileTypeLabel, // Add l10n key
56-
currentValue:
57-
state
58-
.userAppSettings!
59-
.feedPreferences
60-
.headlineImageStyle, // Use new model field
61-
items: HeadlineImageStyle.values,
62-
itemToString: (style) => _imageStyleToString(style, l10n),
63-
onChanged: (value) {
64-
if (value != null) {
65-
settingsBloc.add(
66-
SettingsFeedTileTypeChanged(value),
67-
); // Use new event
68-
}
69-
},
70-
),
71-
],
46+
return BlocListener<SettingsBloc, SettingsState>(
47+
listener: (context, settingsState) {
48+
if (settingsState.status == SettingsStatus.success) {
49+
context.read<AppBloc>().add(const AppSettingsRefreshed());
50+
}
51+
},
52+
child: Scaffold(
53+
appBar: AppBar(
54+
title: Text(l10n.settingsFeedDisplayTitle), // Reuse title
55+
),
56+
body: ListView(
57+
padding: const EdgeInsets.all(AppSpacing.lg),
58+
children: [
59+
// --- Feed Tile Type ---
60+
_buildDropdownSetting<HeadlineImageStyle>(
61+
context: context,
62+
title: l10n.settingsFeedTileTypeLabel, // Add l10n key
63+
currentValue:
64+
state.userAppSettings!.feedPreferences.headlineImageStyle, // Use new model field
65+
items: HeadlineImageStyle.values,
66+
itemToString: (style) => _imageStyleToString(style, l10n),
67+
onChanged: (value) {
68+
if (value != null) {
69+
settingsBloc.add(
70+
SettingsFeedTileTypeChanged(value),
71+
); // Use new event
72+
}
73+
},
74+
),
75+
],
76+
),
7277
),
7378
);
7479
}

0 commit comments

Comments
 (0)