Display 2FA dialog once

This commit is contained in:
Natsumi
2023-02-13 01:45:41 +13:00
parent b5916d0a50
commit bfc9676885
2 changed files with 32 additions and 2 deletions

View File

@@ -6540,7 +6540,17 @@ speechSynthesis.getVoices();
}
};
$app.data.twoFactorAuthDialogVisible = false;
API.$on('LOGIN', function () {
$app.twoFactorAuthDialogVisible = false;
});
$app.methods.promptTOTP = function () {
if (this.twoFactorAuthDialogVisible) {
return;
}
this.twoFactorAuthDialogVisible = true;
this.$prompt($t('prompt.totp.description'), $t('prompt.totp.header'), {
distinguishCancelAndClose: true,
cancelButtonText: $t('prompt.totp.use_otp'),
@@ -6564,11 +6574,19 @@ speechSynthesis.getVoices();
} else if (action === 'cancel') {
this.promptOTP();
}
},
beforeClose: (action, instance, done) => {
this.twoFactorAuthDialogVisible = false;
done();
}
});
};
$app.methods.promptOTP = function () {
if (this.twoFactorAuthDialogVisible) {
return;
}
this.twoFactorAuthDialogVisible = true;
this.$prompt($t('prompt.otp.description'), $t('prompt.otp.header'), {
distinguishCancelAndClose: true,
cancelButtonText: $t('prompt.otp.use_otp'),
@@ -6592,11 +6610,19 @@ speechSynthesis.getVoices();
} else if (action === 'cancel') {
this.promptTOTP();
}
},
beforeClose: (action, instance, done) => {
this.twoFactorAuthDialogVisible = false;
done();
}
});
};
$app.methods.promptEmailOTP = function () {
if (this.twoFactorAuthDialogVisible) {
return;
}
this.twoFactorAuthDialogVisible = true;
this.$prompt(
$t('prompt.email_otp.description'),
$t('prompt.email_otp.header'),
@@ -6621,6 +6647,10 @@ speechSynthesis.getVoices();
return args;
});
}
},
beforeClose: (action, instance, done) => {
this.twoFactorAuthDialogVisible = false;
done();
}
}
);
@@ -21955,7 +21985,7 @@ speechSynthesis.getVoices();
API.$on('LOGIN', async function () {
$app.avatarHistory = new Set();
var historyArray = await database.getAvatarHistory();
$app.avatarHistoryArray = historyArray.reverse();
$app.avatarHistoryArray = historyArray;
for (var i = 0; i < historyArray.length; i++) {
$app.avatarHistory.add(historyArray[i].id);
this.applyAvatar(historyArray[i]);

View File

@@ -1583,7 +1583,7 @@ class Database {
updated_at: dbRow[12],
version: dbRow[13]
};
data.unshift(row);
data.push(row);
}, `SELECT * FROM ${Database.userPrefix}_avatar_history INNER JOIN cache_avatar ON cache_avatar.id = ${Database.userPrefix}_avatar_history.avatar_id ORDER BY ${Database.userPrefix}_avatar_history.created_at DESC LIMIT 100`);
return data;
}