feat(settings): collapse language list into a picker

The flat list of 6 languages plus 'system' dominated Settings. Replace it
with a single tile showing the current language, opening a bottom-sheet
picker (all languages + 'System language'). Resolve LocaleStore defensively
so the screen renders in DI-less widget tests.
This commit is contained in:
vjrj 2026-07-13 17:56:23 +02:00
parent b04d45c4b8
commit fe4591d747
3 changed files with 137 additions and 61 deletions

View file

@ -52,6 +52,9 @@ void main() {
expect(find.text('Language'), findsOneWidget);
expect(materialLocale.languageCode, 'en');
// Open the language picker, then choose Asturian.
await tester.tap(find.byKey(const Key('settings.language')));
await tester.pumpAndSettle();
await tester.tap(find.text('Asturianu'));
await tester.pumpAndSettle();

View file

@ -93,6 +93,9 @@ void main() {
);
await tester.pumpAndSettle();
// The language selector opens a picker listing every language.
await tester.tap(find.byKey(const Key('settings.language')));
await tester.pumpAndSettle();
expect(find.text('Português'), findsOneWidget);
await disposeTree(tester);
});