feat: keyboard-interactive auth (#349)

This commit is contained in:
lollipopkit
2024-05-07 15:22:31 +08:00
parent 026e414388
commit d0523c1e54
15 changed files with 137 additions and 69 deletions

View File

@@ -61,13 +61,16 @@ extension DialogX on BuildContext {
static final _recoredPwd = <String, String>{};
/// Show a dialog to input password
///
/// [hostId] set it to null to skip remembering the password
Future<String?> showPwdDialog({
String? user,
required String hostId,
String? hostId,
String? title,
}) async {
if (!mounted) return null;
return await showRoundDialog<String>(
title: Text(user ?? l10n.pwd),
title: Text(title ?? hostId ?? l10n.pwd),
child: Input(
controller: TextEditingController(text: _recoredPwd[hostId]),
autoFocus: true,
@@ -75,7 +78,7 @@ extension DialogX on BuildContext {
obscureText: true,
onSubmitted: (val) {
pop(val);
if (Stores.setting.rememberPwdInMem.fetch()) {
if (hostId != null && Stores.setting.rememberPwdInMem.fetch()) {
_recoredPwd[hostId] = val;
}
},