MOBILE-4362 login: Add do not show again to qr code information

main
Pau Ferrer Ocaña 2023-10-03 10:52:07 +02:00
parent 610534ef31
commit b2a179a70a
2 changed files with 29 additions and 20 deletions

View File

@ -53,6 +53,7 @@ export const GET_STARTED_URL = 'https://moodle.com';
export class CoreLoginHelperProvider { export class CoreLoginHelperProvider {
static readonly ONBOARDING_DONE = 'onboarding_done'; static readonly ONBOARDING_DONE = 'onboarding_done';
static readonly FAQ_QRCODE_INFO_DONE = 'qrcode_info_done';
static readonly FAQ_URL_IMAGE_HTML = '<img src="assets/img/login/faq_url.png" role="presentation" alt="">'; static readonly FAQ_URL_IMAGE_HTML = '<img src="assets/img/login/faq_url.png" role="presentation" alt="">';
static readonly FAQ_QRCODE_IMAGE_HTML = '<img src="assets/img/login/faq_qrcode.png" role="presentation" alt="">'; static readonly FAQ_QRCODE_IMAGE_HTML = '<img src="assets/img/login/faq_qrcode.png" role="presentation" alt="">';
@ -1221,26 +1222,33 @@ export class CoreLoginHelperProvider {
* @returns Promise resolved if the user accepts to scan QR. * @returns Promise resolved if the user accepts to scan QR.
*/ */
async showScanQRInstructions(): Promise<void> { async showScanQRInstructions(): Promise<void> {
await new Promise<void>((resolve, reject) => { const dontShowWarning = await CoreConfig.get(CoreLoginHelperProvider.FAQ_QRCODE_INFO_DONE, 0);
CoreDomUtils.showAlertWithOptions({ if (dontShowWarning) {
header: Translate.instant('core.login.faqwhereisqrcode'), return;
message: Translate.instant( }
'core.login.faqwhereisqrcodeanswer',
{ $image: CoreLoginHelperProvider.FAQ_QRCODE_IMAGE_HTML }, const message = Translate.instant(
), 'core.login.faqwhereisqrcodeanswer',
buttons: [ { $image: '<div class="text-center">'+ CoreLoginHelperProvider.FAQ_QRCODE_IMAGE_HTML + '</div>' },
{ );
text: Translate.instant('core.cancel'), const header = Translate.instant('core.login.faqwhereisqrcode');
role: 'cancel',
handler: () => reject(new CoreCanceledError()), try {
}, const dontShowAgain = await CoreDomUtils.showPrompt(
{ message,
text: Translate.instant('core.next'), header,
handler: () => resolve(), Translate.instant('core.dontshowagain'),
}, 'checkbox',
], { okText: Translate.instant('core.next'), cancelText: Translate.instant('core.cancel') },
}); );
});
if (dontShowAgain) {
CoreConfig.set(CoreLoginHelperProvider.FAQ_QRCODE_INFO_DONE, 1);
}
} catch {
// User canceled.
throw new CoreCanceledError('');
}
} }
/** /**

View File

@ -165,6 +165,7 @@ export class CoreSettingsDevPage implements OnInit {
await CoreUserTours.resetTours(); await CoreUserTours.resetTours();
await CoreConfig.delete(CoreLoginHelperProvider.ONBOARDING_DONE); await CoreConfig.delete(CoreLoginHelperProvider.ONBOARDING_DONE);
await CoreConfig.delete(CoreLoginHelperProvider.FAQ_QRCODE_INFO_DONE);
CoreDomUtils.showToast('User tours have been reseted'); CoreDomUtils.showToast('User tours have been reseted');
} }