@@ -3,7 +3,8 @@ import 'package:flutter_bloc/flutter_bloc.dart';
3
3
import 'package:ht_main/l10n/l10n.dart' ;
4
4
import 'package:ht_main/settings/bloc/settings_bloc.dart' ;
5
5
import 'package:ht_main/shared/constants/constants.dart' ;
6
- import 'package:ht_preferences_client/ht_preferences_client.dart' ;
6
+ import 'package:ht_shared/ht_shared.dart'
7
+ show HeadlineImageStyle; // Import new enum
7
8
8
9
/// {@template feed_settings_page}
9
10
/// A page for configuring feed display settings.
@@ -12,15 +13,15 @@ class FeedSettingsPage extends StatelessWidget {
12
13
/// {@macro feed_settings_page}
13
14
const FeedSettingsPage ({super .key});
14
15
15
- // Helper to map FeedListTileType enum to user-friendly strings
16
- String _tileTypeToString ( FeedListTileType type , AppLocalizations l10n) {
17
- switch (type ) {
18
- case FeedListTileType .imageTop :
19
- return l10n.settingsFeedTileTypeImageTop ; // Add l10n key
20
- case FeedListTileType .imageStart :
21
- return l10n.settingsFeedTileTypeImageStart; // Add l10n key
22
- case FeedListTileType .textOnly :
23
- return l10n.settingsFeedTileTypeTextOnly ; // Add l10n key
16
+ // Helper to map HeadlineImageStyle enum to user-friendly strings
17
+ String _imageStyleToString ( HeadlineImageStyle style , AppLocalizations l10n) {
18
+ switch (style ) {
19
+ case HeadlineImageStyle .hidden :
20
+ return l10n.settingsFeedTileTypeTextOnly ; // Closest match
21
+ case HeadlineImageStyle .smallThumbnail :
22
+ return l10n.settingsFeedTileTypeImageStart; // Closest match
23
+ case HeadlineImageStyle .largeThumbnail :
24
+ return l10n.settingsFeedTileTypeImageTop ; // Closest match
24
25
}
25
26
}
26
27
@@ -48,15 +49,21 @@ class FeedSettingsPage extends StatelessWidget {
48
49
padding: const EdgeInsets .all (AppSpacing .lg),
49
50
children: [
50
51
// --- Feed Tile Type ---
51
- _buildDropdownSetting <FeedListTileType >(
52
+ _buildDropdownSetting <HeadlineImageStyle >(
52
53
context: context,
53
54
title: l10n.settingsFeedTileTypeLabel, // Add l10n key
54
- currentValue: state.feedSettings.feedListTileType,
55
- items: FeedListTileType .values,
56
- itemToString: (type) => _tileTypeToString (type, l10n),
55
+ currentValue:
56
+ state
57
+ .userAppSettings
58
+ .feedPreferences
59
+ .headlineImageStyle, // Use new model field
60
+ items: HeadlineImageStyle .values,
61
+ itemToString: (style) => _imageStyleToString (style, l10n),
57
62
onChanged: (value) {
58
63
if (value != null ) {
59
- settingsBloc.add (SettingsFeedTileTypeChanged (value));
64
+ settingsBloc.add (
65
+ SettingsFeedTileTypeChanged (value),
66
+ ); // Use new event
60
67
}
61
68
},
62
69
),
0 commit comments