1+ import 'package:core/core.dart' ;
2+ import 'package:data_repository/data_repository.dart' ;
13import 'package:flutter/material.dart' ;
24import 'package:flutter_bloc/flutter_bloc.dart' ;
3- import 'package:ht_dashboard/app/bloc/app_bloc.dart' ;
4- import 'package:ht_dashboard/l10n/app_localizations.dart' ;
5- import 'package:ht_dashboard/l10n/l10n.dart' ;
6- import 'package:ht_dashboard/settings/bloc/settings_bloc.dart' ;
7- import 'package:ht_data_repository/ht_data_repository.dart' ;
8- import 'package:ht_shared/ht_shared.dart' ;
9- import 'package:ht_ui_kit/ht_ui_kit.dart' ;
5+ import 'package:flutter_news_app_web_dashboard_full_source_code/app/bloc/app_bloc.dart' ;
6+ import 'package:flutter_news_app_web_dashboard_full_source_code/l10n/app_localizations.dart' ;
7+ import 'package:flutter_news_app_web_dashboard_full_source_code/l10n/l10n.dart' ;
8+ import 'package:flutter_news_app_web_dashboard_full_source_code/settings/bloc/settings_bloc.dart' ;
9+ import 'package:ui_kit/ui_kit.dart' ;
1010
1111/// {@template settings_page}
1212/// A page for user settings, allowing customization of theme and language.
@@ -20,7 +20,7 @@ class SettingsPage extends StatelessWidget {
2020 return BlocProvider (
2121 create: (context) => SettingsBloc (
2222 userAppSettingsRepository: context
23- .read <HtDataRepository <UserAppSettings >>(),
23+ .read <DataRepository <UserAppSettings >>(),
2424 )..add (SettingsLoaded (userId: context.read <AppBloc >().state.user? .id)),
2525 child: const _SettingsView (),
2626 );
@@ -62,9 +62,7 @@ class _SettingsView extends StatelessWidget {
6262 ScaffoldMessenger .of (context)
6363 ..hideCurrentSnackBar ()
6464 ..showSnackBar (
65- SnackBar (
66- content: Text (l10n.settingsSavedSuccessfully),
67- ),
65+ SnackBar (content: Text (l10n.settingsSavedSuccessfully)),
6866 );
6967 // Trigger AppBloc to reload settings for immediate UI update
7068 if (state.userAppSettings != null ) {
@@ -77,9 +75,7 @@ class _SettingsView extends StatelessWidget {
7775 ..hideCurrentSnackBar ()
7876 ..showSnackBar (
7977 SnackBar (
80- content: Text (
81- state.exception.toFriendlyMessage (context),
82- ),
78+ content: Text (state.exception.toFriendlyMessage (context)),
8379 ),
8480 );
8581 }
@@ -89,9 +85,7 @@ class _SettingsView extends StatelessWidget {
8985 state is ! SettingsLoadInProgress ) {
9086 // If settings are null and not loading, try to load them
9187 context.read <SettingsBloc >().add (
92- SettingsLoaded (
93- userId: context.read <AppBloc >().state.user? .id,
94- ),
88+ SettingsLoaded (userId: context.read <AppBloc >().state.user? .id),
9589 );
9690 }
9791
@@ -138,9 +132,7 @@ class _SettingsView extends StatelessWidget {
138132 onChanged: (value) {
139133 if (value != null ) {
140134 context.read <SettingsBloc >().add (
141- SettingsBaseThemeChanged (
142- value,
143- ),
135+ SettingsBaseThemeChanged (value),
144136 );
145137 }
146138 },
@@ -149,10 +141,7 @@ class _SettingsView extends StatelessWidget {
149141 (theme) => DropdownMenuItem (
150142 value: theme,
151143 child: Text (
152- _getAppBaseThemeName (
153- theme,
154- l10n,
155- ),
144+ _getAppBaseThemeName (theme, l10n),
156145 ),
157146 ),
158147 )
@@ -169,9 +158,7 @@ class _SettingsView extends StatelessWidget {
169158 onChanged: (value) {
170159 if (value != null ) {
171160 context.read <SettingsBloc >().add (
172- SettingsAccentThemeChanged (
173- value,
174- ),
161+ SettingsAccentThemeChanged (value),
175162 );
176163 }
177164 },
@@ -180,10 +167,7 @@ class _SettingsView extends StatelessWidget {
180167 (theme) => DropdownMenuItem (
181168 value: theme,
182169 child: Text (
183- _getAppAccentThemeName (
184- theme,
185- l10n,
186- ),
170+ _getAppAccentThemeName (theme, l10n),
187171 ),
188172 ),
189173 )
@@ -207,22 +191,15 @@ class _SettingsView extends StatelessWidget {
207191 onChanged: (value) {
208192 if (value != null ) {
209193 context.read <SettingsBloc >().add (
210- SettingsFontFamilyChanged (
211- value,
212- ),
194+ SettingsFontFamilyChanged (value),
213195 );
214196 }
215197 },
216198 items: _supportedFontFamilies
217199 .map (
218200 (font) => DropdownMenuItem (
219201 value: font,
220- child: Text (
221- _getFontFamilyName (
222- font,
223- l10n,
224- ),
225- ),
202+ child: Text (_getFontFamilyName (font, l10n)),
226203 ),
227204 )
228205 .toList (),
@@ -239,9 +216,7 @@ class _SettingsView extends StatelessWidget {
239216 onChanged: (value) {
240217 if (value != null ) {
241218 context.read <SettingsBloc >().add (
242- SettingsTextScaleFactorChanged (
243- value,
244- ),
219+ SettingsTextScaleFactorChanged (value),
245220 );
246221 }
247222 },
@@ -250,10 +225,7 @@ class _SettingsView extends StatelessWidget {
250225 (scale) => DropdownMenuItem (
251226 value: scale,
252227 child: Text (
253- _getAppTextScaleFactorName (
254- scale,
255- l10n,
256- ),
228+ _getAppTextScaleFactorName (scale, l10n),
257229 ),
258230 ),
259231 )
@@ -270,9 +242,7 @@ class _SettingsView extends StatelessWidget {
270242 onChanged: (value) {
271243 if (value != null ) {
272244 context.read <SettingsBloc >().add (
273- SettingsFontWeightChanged (
274- value,
275- ),
245+ SettingsFontWeightChanged (value),
276246 );
277247 }
278248 },
@@ -281,10 +251,7 @@ class _SettingsView extends StatelessWidget {
281251 (weight) => DropdownMenuItem (
282252 value: weight,
283253 child: Text (
284- _getAppFontWeightName (
285- weight,
286- l10n,
287- ),
254+ _getAppFontWeightName (weight, l10n),
288255 ),
289256 ),
290257 )
@@ -338,10 +305,7 @@ class _SettingsView extends StatelessWidget {
338305 child: Column (
339306 crossAxisAlignment: CrossAxisAlignment .start,
340307 children: [
341- Text (
342- title,
343- style: Theme .of (context).textTheme.titleMedium,
344- ),
308+ Text (title, style: Theme .of (context).textTheme.titleMedium),
345309 const SizedBox (height: AppSpacing .xs),
346310 Text (
347311 description,
@@ -467,10 +431,7 @@ class _LanguageSelectionList extends StatelessWidget {
467431 style: Theme .of (context).textTheme.titleMedium,
468432 ),
469433 trailing: isSelected
470- ? Icon (
471- Icons .check,
472- color: Theme .of (context).colorScheme.primary,
473- )
434+ ? Icon (Icons .check, color: Theme .of (context).colorScheme.primary)
474435 : null ,
475436 onTap: () {
476437 if (! isSelected) {
@@ -495,8 +456,5 @@ class _LanguageSelectionList extends StatelessWidget {
495456 }
496457 }
497458
498- static const List <AppLanguage > _supportedLanguages = [
499- 'en' ,
500- 'ar' ,
501- ];
459+ static const List <AppLanguage > _supportedLanguages = ['en' , 'ar' ];
502460}
0 commit comments