feat: add action options for closing the application

This commit is contained in:
TheLastFlame
2024-10-03 19:32:23 +10:00
parent eacdfd8d7c
commit e3cc9180e0
8 changed files with 174 additions and 30 deletions

View File

@@ -0,0 +1,13 @@
import 'package:hiddify/gen/translations.g.dart';
enum ActionsAtClosing {
ask,
hide,
exit;
String present(TranslationsEn t) => switch (this) {
ask => t.settings.general.actionsAtClosing.askEachTime,
hide => t.settings.general.actionsAtClosing.hide,
exit => t.settings.general.actionsAtClosing.exit,
};
}

View File

@@ -1,6 +1,7 @@
import 'package:flutter/foundation.dart';
import 'package:hiddify/core/app_info/app_info_provider.dart';
import 'package:hiddify/core/model/environment.dart';
import 'package:hiddify/core/preferences/actions_at_closing.dart';
// import 'package:hiddify/core/model/region.dart';
import 'package:hiddify/core/preferences/preferences_provider.dart';
import 'package:hiddify/core/utils/preferences_utils.dart';
@@ -61,6 +62,13 @@ abstract class Preferences {
"store_reviewed_by_user",
false,
);
static final actionAtClose = PreferencesNotifier.create<ActionsAtClosing, String>(
"action_at_close",
ActionsAtClosing.ask,
mapFrom: ActionsAtClosing.values.byName,
mapTo: (value) => value.name,
);
}
@Riverpod(keepAlive: true)