update theme & settingsview to enums

This commit is contained in:
2025-07-30 20:33:34 +02:00
parent 20537c88c1
commit fc062b2135
2 changed files with 70 additions and 48 deletions

View File

@@ -8,8 +8,17 @@ class LanguageView extends StatefulWidget {
State<LanguageView> createState() => _LanguageViewState();
}
enum languageOptions {
systemDefault('Systemstandard'),
german('Deutsch'),
english('English');
final String label;
const languageOptions(this.label);
}
class _LanguageViewState extends State<LanguageView> {
String _selectedLanguage = "Systemstandard";
languageOptions? _selectedLanguage = languageOptions.systemDefault;
@override
Widget build(BuildContext context) {
@@ -19,47 +28,49 @@ class _LanguageViewState extends State<LanguageView> {
body: Column(
children: [
ListTile(
title: Text("Systemstandard"),
title: Text(languageOptions.systemDefault.label),
onTap: () {
setState(() {
_selectedLanguage = "Systemstandard";
_selectedLanguage = languageOptions.systemDefault;
});
},
leading: Radio(
value: "Systemstandard",
value: languageOptions.systemDefault,
groupValue: _selectedLanguage,
onChanged: (value) {
setState(() {
_selectedLanguage = languageOptions.systemDefault;
});
},
),
),
ListTile(
title: Text(languageOptions.german.label),
onTap: () {
setState(() {
_selectedLanguage = languageOptions.german;
});
},
leading: Radio(
value: languageOptions.german,
groupValue: _selectedLanguage,
onChanged: (value) {setState(() {
_selectedLanguage = value.toString();
_selectedLanguage = languageOptions.german;
});},
),
),
ListTile(
title: Text("Deutsch"),
title: Text(languageOptions.english.label),
onTap: () {
setState(() {
_selectedLanguage = "Deutsch";
_selectedLanguage = languageOptions.english;
});
},
leading: Radio(
value: "Deutsch",
groupValue: _selectedLanguage,
onChanged: (value) {setState(() {
_selectedLanguage = value.toString();
});},
),
),
ListTile(
title: Text("Englisch"),
onTap: () {
setState(() {
_selectedLanguage = "Englisch";
});
},
leading: Radio(
value: "Englisch",
value: languageOptions.english,
groupValue: _selectedLanguage,
onChanged: (value) {setState(() {
_selectedLanguage = value.toString();
_selectedLanguage = languageOptions.english;
});},
),
)