Files
game-tracker/lib/presentation/views/main_menu/settings_subpages/language_view.dart

81 lines
2.4 KiB
Dart

import 'package:flutter/material.dart';
import 'package:game_tracker/core/custom_theme.dart';
class LanguageView extends StatefulWidget {
const LanguageView({super.key});
@override
State<LanguageView> createState() => _LanguageViewState();
}
enum languageOptions {
systemDefault('Systemstandard'),
german('Deutsch'),
english('English');
final String label;
const languageOptions(this.label);
}
class _LanguageViewState extends State<LanguageView> {
languageOptions? _selectedLanguage = languageOptions.systemDefault;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text('Sprache'), titleTextStyle: TextStyle(fontWeight: FontWeight.bold, fontSize: 20), centerTitle: true, backgroundColor: CustomTheme.backgroundColor),
backgroundColor: CustomTheme.backgroundColor,
body: Column(
children: [
ListTile(
title: Text(languageOptions.systemDefault.label),
onTap: () {
setState(() {
_selectedLanguage = languageOptions.systemDefault;
});
},
leading: Radio(
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 = languageOptions.german;
});},
),
),
ListTile(
title: Text(languageOptions.english.label),
onTap: () {
setState(() {
_selectedLanguage = languageOptions.english;
});
},
leading: Radio(
value: languageOptions.english,
groupValue: _selectedLanguage,
onChanged: (value) {setState(() {
_selectedLanguage = languageOptions.english;
});},
),
)
],
),
);
}
}