chore: ask for MXID before deleting account

Signed-off-by: TheOneWithTheBraid <the-one@with-the-braid.cf>
This commit is contained in:
TheOneWithTheBraid 2022-08-20 16:59:59 +02:00
parent e1769d8654
commit af51c9c0ea
2 changed files with 24 additions and 8 deletions

View File

@ -55,6 +55,14 @@
"type": "text",
"placeholders": {}
},
"confirmMatrixId": "Please confirm your Matrix ID in order to delete your account.",
"supposedMxid": "This should be {mxid}",
"@supposedMxid": {
"type": "text",
"placeholders": {
"mxid": {}
}
},
"addGroupDescription": "Add a group description",
"@addGroupDescription": {
"type": "text",

View File

@ -87,14 +87,22 @@ class SettingsAccountController extends State<SettingsAccount> {
OkCancelResult.cancel) {
return;
}
if (await showOkCancelAlertDialog(
final supposedMxid = Matrix.of(context).client.userID!;
final mxids = await showTextInputDialog(
useRootNavigator: false,
context: context,
title: L10n.of(context)!.areYouSure,
okLabel: L10n.of(context)!.yes,
title: L10n.of(context)!.confirmMatrixId,
textFields: [
DialogTextField(
validator: (text) => text == supposedMxid
? null
: L10n.of(context)!.supposedMxid(supposedMxid),
),
],
okLabel: L10n.of(context)!.delete,
cancelLabel: L10n.of(context)!.cancel,
) ==
OkCancelResult.cancel) {
);
if (mxids == null || mxids.length != 1 || mxids.single != supposedMxid) {
return;
}
final input = await showTextInputDialog(