chore: Add reset button for config viewer
This commit is contained in:
parent
bad0a549cb
commit
a3a2a37a14
3 changed files with 23 additions and 2 deletions
|
|
@ -75,6 +75,11 @@ enum AppSettings<T> {
|
|||
static SharedPreferences get store => _store!;
|
||||
static SharedPreferences? _store;
|
||||
|
||||
static Future<void> reset({bool loadWebConfigFile = true}) async {
|
||||
await AppSettings._store!.clear();
|
||||
await init(loadWebConfigFile: loadWebConfigFile);
|
||||
}
|
||||
|
||||
static Future<SharedPreferences> init({bool loadWebConfigFile = true}) async {
|
||||
if (AppSettings._store != null) return AppSettings.store;
|
||||
|
||||
|
|
|
|||
|
|
@ -2781,5 +2781,6 @@
|
|||
"@mute": {
|
||||
"description": "This should be a very short string because there is not much space in the button!"
|
||||
},
|
||||
"createNewChat": "Create new chat"
|
||||
"createNewChat": "Create new chat",
|
||||
"reset": "Reset"
|
||||
}
|
||||
|
|
@ -48,6 +48,11 @@ class _ConfigViewerState extends State<ConfigViewer> {
|
|||
setState(() {});
|
||||
}
|
||||
|
||||
Future<void> _reset() async {
|
||||
await AppSettings.reset();
|
||||
setState(() {});
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final theme = Theme.of(context);
|
||||
|
|
@ -55,8 +60,12 @@ class _ConfigViewerState extends State<ConfigViewer> {
|
|||
appBar: AppBar(
|
||||
title: Text(L10n.of(context).advancedConfigurations),
|
||||
leading: BackButton(onPressed: () => context.go('/')),
|
||||
actions: [
|
||||
TextButton(onPressed: _reset, child: Text(L10n.of(context).reset)),
|
||||
],
|
||||
),
|
||||
body: Column(
|
||||
crossAxisAlignment: .stretch,
|
||||
children: [
|
||||
Container(
|
||||
margin: const EdgeInsets.all(16),
|
||||
|
|
@ -81,7 +90,13 @@ class _ConfigViewerState extends State<ConfigViewer> {
|
|||
value = appSetting.value.toString();
|
||||
}
|
||||
if (appSetting is AppSettings<bool>) {
|
||||
value = appSetting.value.toString();
|
||||
return SwitchListTile.adaptive(
|
||||
title: Text(appSetting.name),
|
||||
subtitle: Text(value),
|
||||
value: appSetting.value,
|
||||
onChanged: (value) =>
|
||||
_changeSetting(appSetting, store, (!value).toString()),
|
||||
);
|
||||
}
|
||||
if (appSetting is AppSettings<double>) {
|
||||
value = appSetting.value.toString();
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue