opt.: bio auth setting

This commit is contained in:
lollipopkit
2023-10-13 13:13:24 +08:00
parent 3cce2c1e1b
commit 70f6e1d22b
7 changed files with 94 additions and 76 deletions

View File

@@ -11,7 +11,6 @@ import 'package:toolbox/core/extension/context/snackbar.dart';
import 'package:toolbox/core/extension/locale.dart';
import 'package:toolbox/core/extension/context/dialog.dart';
import 'package:toolbox/core/extension/stringx.dart';
import 'package:toolbox/core/utils/platform/auth.dart';
import 'package:toolbox/core/utils/platform/base.dart';
import 'package:toolbox/core/utils/rebuild.dart';
import 'package:toolbox/data/res/provider.dart';
@@ -29,7 +28,6 @@ import '../../../data/res/path.dart';
import '../../../data/res/ui.dart';
import '../../widget/color_picker.dart';
import '../../widget/custom_appbar.dart';
import '../../widget/future_widget.dart';
import '../../widget/input_field.dart';
import '../../widget/round_rect_card.dart';
import '../../widget/store_switch.dart';
@@ -187,9 +185,6 @@ class _SettingPageState extends State<SettingPage> {
//_buildLaunchPage(),
_buildCheckUpdate(),
];
if (BioAuth.isPlatformSupported) {
children.add(_buildBioAuth());
}
/// Platform specific settings
if (OS.hasSettings) {
@@ -1014,47 +1009,6 @@ class _SettingPageState extends State<SettingPage> {
// );
// }
Widget _buildBioAuth() {
return FutureWidget<bool>(
future: BioAuth.isAvail,
loading: ListTile(
title: Text(l10n.bioAuth),
subtitle: Text(l10n.serverTabLoading, style: UIs.textGrey),
),
error: (e, __) => ListTile(
title: Text(l10n.bioAuth),
subtitle: Text('${l10n.failed}: $e', style: UIs.textGrey),
),
success: (can) {
return ListTile(
title: Text(l10n.bioAuth),
subtitle: can
? null
: const Text('Error: Bio auth is not available',
style: UIs.textGrey),
trailing: can
? StoreSwitch(
prop: Stores.setting.useBioAuth,
func: (val) async {
if (val) {
Stores.setting.useBioAuth.put(false);
return;
}
// Only auth when turn off (val == false)
final result = await BioAuth.auth(l10n.authRequired);
// If failed, turn on again
if (result != AuthResult.success) {
Stores.setting.useBioAuth.put(true);
}
},
)
: null,
);
},
noData: UIs.placeholder,
);
}
Widget _buildPlatformSetting() {
return ListTile(
title: Text('${OS.type} ${l10n.setting}'),