diff --git a/lib/view/components/search/LanguageSelector.dart b/lib/view/components/search/LanguageSelector.dart index 66ce133..3f176cc 100644 --- a/lib/view/components/search/LanguageSelector.dart +++ b/lib/view/components/search/LanguageSelector.dart @@ -1,5 +1,5 @@ - import 'package:flutter/material.dart'; +import 'package:shared_preferences/shared_preferences.dart'; class LanguageSelector extends StatefulWidget { @override @@ -7,12 +7,35 @@ class LanguageSelector extends StatefulWidget { } class _LanguageSelectorState extends State { + SharedPreferences prefs; List isSelected; @override void initState() { super.initState(); - isSelected = [true, false, false]; + isSelected = [false, false, false]; + + SharedPreferences.getInstance() + .then((prefs) { + this.prefs = prefs; + setState(() { + isSelected = _getSelectedStatus() ?? isSelected; + }); + }); + } + + void _updateSelectedStatus() async { + await prefs.setStringList('languageSelectorStatus', + isSelected + .map((b) => b ? '1' : '0') + .toList()); + } + + List _getSelectedStatus() { + return prefs + .getStringList('languageSelectorStatus') + ?.map((s) => s == '1') + ?.toList(); } @override @@ -30,6 +53,7 @@ class _LanguageSelectorState extends State { for (var i in Iterable.generate(isSelected.length)) { isSelected[i] = i == buttonIndex; } + _updateSelectedStatus(); }); }, ); @@ -44,11 +68,9 @@ class _LanguageOption extends StatelessWidget { @override Widget build(BuildContext context) { - return Expanded( - child: Container( - padding: EdgeInsets.symmetric(vertical: 10.0, horizontal: 20.0), - child: Center(child: Text(language)), - ), + return Container( + padding: EdgeInsets.symmetric(vertical: 10.0, horizontal: 20.0), + child: Center(child: Text(language)), ); } } \ No newline at end of file