|
1 | 1 | import 'package:flutter/material.dart'; |
2 | 2 | import 'package:flutter_bloc/flutter_bloc.dart'; |
| 3 | +import 'package:ht_main/app/bloc/app_bloc.dart'; |
3 | 4 | import 'package:ht_main/l10n/app_localizations.dart'; |
4 | 5 | import 'package:ht_main/l10n/l10n.dart'; |
5 | 6 | import 'package:ht_main/settings/bloc/settings_bloc.dart'; |
@@ -42,33 +43,37 @@ class FeedSettingsPage extends StatelessWidget { |
42 | 43 | ); |
43 | 44 | } |
44 | 45 |
|
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 | + ), |
72 | 77 | ), |
73 | 78 | ); |
74 | 79 | } |
|
0 commit comments