Skip to content

Commit e2d48b7

Browse files
committed
refactor(settings): update language selection implementation
- Replace custom AppLanguage type with Language model - Remove hardcoded supported languages in favor of languagesFixturesData - Simplify language name retrieval using the name property - Remove unnecessary _getLanguageName method
1 parent 0e57181 commit e2d48b7

File tree

1 file changed

+6
-19
lines changed

1 file changed

+6
-19
lines changed

lib/settings/view/settings_page.dart

Lines changed: 6 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -413,21 +413,21 @@ class _LanguageSelectionList extends StatelessWidget {
413413
});
414414

415415
/// The currently selected language.
416-
final AppLanguage currentLanguage;
416+
final Language currentLanguage;
417417

418418
/// The localized strings for the application.
419419
final AppLocalizations l10n;
420420

421421
@override
422422
Widget build(BuildContext context) {
423423
return ListView.builder(
424-
itemCount: _supportedLanguages.length,
424+
itemCount: languagesFixturesData.length,
425425
itemBuilder: (context, index) {
426-
final language = _supportedLanguages[index];
426+
final language = languagesFixturesData[index];
427427
final isSelected = language == currentLanguage;
428428
return ListTile(
429429
title: Text(
430-
_getLanguageName(language, l10n),
430+
language.name,
431431
style: Theme.of(context).textTheme.titleMedium,
432432
),
433433
trailing: isSelected
@@ -436,25 +436,12 @@ class _LanguageSelectionList extends StatelessWidget {
436436
onTap: () {
437437
if (!isSelected) {
438438
context.read<SettingsBloc>().add(
439-
SettingsLanguageChanged(language),
440-
);
439+
SettingsLanguageChanged(language),
440+
);
441441
}
442442
},
443443
);
444444
},
445445
);
446446
}
447-
448-
String _getLanguageName(AppLanguage language, AppLocalizations l10n) {
449-
switch (language) {
450-
case 'en':
451-
return l10n.englishLanguage;
452-
case 'ar':
453-
return l10n.arabicLanguage;
454-
default:
455-
return language;
456-
}
457-
}
458-
459-
static const List<AppLanguage> _supportedLanguages = ['en', 'ar'];
460447
}

0 commit comments

Comments
 (0)