|
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