feat: custom SSO login/signup dialog
This commit is contained in:
parent
1edafd9f3c
commit
efd97becb6
62 changed files with 1044 additions and 121 deletions
|
|
@ -10927,5 +10927,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "انتظار اكتمال تسجيل الدخول",
|
||||
"ssoDialogDesc": "لقد فتحنا علامة تبويب جديدة حتى تتمكن من تسجيل الدخول بأمان.",
|
||||
"ssoDialogHelpText": "🤔 إذا لم ترَ علامة التبويب الجديدة، يرجى التحقق من مانع النوافذ المنبثقة.",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -11809,5 +11809,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "Чакаем, пакуль ўваход будзе завершаны",
|
||||
"ssoDialogDesc": "Мы адкрылі новую ўкладку, каб вы маглі бяспечна ўвайсці.",
|
||||
"ssoDialogHelpText": "🤔 Калі вы не ўбачылі новую ўкладку, калі ласка, праверце свой блакіроўшчык усплывальных акнаў.",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -11814,5 +11814,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "সাইন ইন সম্পন্ন হওয়ার জন্য অপেক্ষা করছে",
|
||||
"ssoDialogDesc": "আমরা একটি নতুন ট্যাব খুলেছি যাতে আপনি নিরাপদে সাইন ইন করতে পারেন।",
|
||||
"ssoDialogHelpText": "🤔 যদি আপনি নতুন ট্যাবটি না দেখেন, দয়া করে আপনার পপআপ ব্লকারটি পরীক্ষা করুন।",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -10464,5 +10464,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "Nunggu kanggo mlebu rampung",
|
||||
"ssoDialogDesc": "Kita wis mbukak tab anyar supaya sampeyan bisa mlebu kanthi aman.",
|
||||
"ssoDialogHelpText": "🤔 Yen sampeyan ora ndeleng tab anyar, mangga priksa pemblokir popup sampeyan.",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -10734,5 +10734,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "Esperant que la signatura es completi",
|
||||
"ssoDialogDesc": "Hem obert una nova pestanya perquè puguis iniciar sessió de manera segura.",
|
||||
"ssoDialogHelpText": "🤔 Si no has vist la nova pestanya, si us plau, comprova el teu bloquejador de finestres emergents.",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -11317,5 +11317,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "Čekání na dokončení přihlášení",
|
||||
"ssoDialogDesc": "Otevřeli jsme novou kartu, abyste se mohli bezpečně přihlásit.",
|
||||
"ssoDialogHelpText": "🤔 Pokud jste novou kartu neviděli, zkontrolujte prosím blokátor vyskakovacích oken.",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -11771,5 +11771,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "Venter på, at login skal fuldføres",
|
||||
"ssoDialogDesc": "Vi har åbnet en ny fane, så du kan logge ind sikkert.",
|
||||
"ssoDialogHelpText": "🤔 Hvis du ikke så den nye fane, skal du tjekke din popup-blokker.",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -10717,5 +10717,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "Warten auf den Abschluss der Anmeldung",
|
||||
"ssoDialogDesc": "Wir haben einen neuen Tab geöffnet, damit Sie sich sicher anmelden können.",
|
||||
"ssoDialogHelpText": "🤔 Wenn Sie den neuen Tab nicht gesehen haben, überprüfen Sie bitte Ihren Popup-Blocker.",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -11768,5 +11768,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "Περιμένοντας την ολοκλήρωση της σύνδεσης",
|
||||
"ssoDialogDesc": "Ανοίξαμε μια νέα καρτέλα ώστε να μπορέσετε να συνδεθείτε με ασφάλεια.",
|
||||
"ssoDialogHelpText": "🤔 Αν δεν είδατε τη νέα καρτέλα, παρακαλώ ελέγξτε τον αποκλειστή αναδυόμενων παραθύρων σας.",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -5011,5 +5011,8 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "Waiting for sign in to complete",
|
||||
"ssoDialogDesc": "We opened a new tab so you can sign in securely.",
|
||||
"ssoDialogHelpText": "🤔 If you didn't see the new tab, please check your popup blocker."
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11799,5 +11799,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "Atendante, ke ensaluto finiĝu",
|
||||
"ssoDialogDesc": "Ni malfermis novan langeton por ke vi povu ensaluti sekure.",
|
||||
"ssoDialogHelpText": "🤔 Se vi ne vidis la novan langeton, bonvolu kontroli vian popup-blokilon.",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -7944,5 +7944,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "Esperando a que se complete el inicio de sesión",
|
||||
"ssoDialogDesc": "Abrimos una nueva pestaña para que puedas iniciar sesión de forma segura.",
|
||||
"ssoDialogHelpText": "🤔 Si no viste la nueva pestaña, por favor revisa tu bloqueador de ventanas emergentes.",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -10981,5 +10981,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "Ootame sisselogimise lõpetamist",
|
||||
"ssoDialogDesc": "Avasime uue vahekaart, et saaksite turvaliselt sisse logida.",
|
||||
"ssoDialogHelpText": "🤔 Kui te ei näinud uut vahekaarti, kontrollige palun oma hüpikakna blokeerijat.",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -10710,5 +10710,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "Saioa hasi arte itxaroten",
|
||||
"ssoDialogDesc": "Segurtasunez saioa hasi dezazun, fitxa berri bat ireki dugu.",
|
||||
"ssoDialogHelpText": "🤔 Fitxa berri hori ikusi ez baduzu, mesedez, begiratu zure pop-up blokeatzailea.",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -11442,5 +11442,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "در حال انتظار برای تکمیل ورود",
|
||||
"ssoDialogDesc": "ما یک تب جدید باز کردیم تا شما بتوانید به صورت امن وارد شوید.",
|
||||
"ssoDialogHelpText": "🤔 اگر تب جدید را ندیدید، لطفاً مسدودکننده پاپ آپ خود را بررسی کنید.",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -11333,5 +11333,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "Odotetaan kirjautumisen valmistumista",
|
||||
"ssoDialogDesc": "Avasimme uuden välilehden, jotta voit kirjautua sisään turvallisesti.",
|
||||
"ssoDialogHelpText": "🤔 Jos et nähnyt uutta välilehteä, tarkista ponnahdusikkunoiden estäjäsi.",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -11686,5 +11686,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "Naghihintay na makumpleto ang pag-sign in",
|
||||
"ssoDialogDesc": "Nagbukas kami ng bagong tab upang makapag-sign in ka nang ligtas.",
|
||||
"ssoDialogHelpText": "🤔 Kung hindi mo nakita ang bagong tab, mangyaring suriin ang iyong popup blocker.",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -11034,5 +11034,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "En attente de la connexion",
|
||||
"ssoDialogDesc": "Nous avons ouvert un nouvel onglet pour que vous puissiez vous connecter en toute sécurité.",
|
||||
"ssoDialogHelpText": "🤔 Si vous n'avez pas vu le nouvel onglet, veuillez vérifier votre bloqueur de fenêtres contextuelles.",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -10708,5 +10708,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "Ag fanacht le síniú isteach a chríochnú",
|
||||
"ssoDialogDesc": "Osclóimid cluaisín nua ionas gur féidir leat síniú isteach go sábháilte.",
|
||||
"ssoDialogHelpText": "🤔 Má chonaic tú an cluaisín nua, seiceáil le do thoil do bhacadóir pop-up.",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -10707,5 +10707,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "Agardando a finalización do inicio de sesión",
|
||||
"ssoDialogDesc": "Abrimos unha nova pestana para que poidas iniciar sesión de forma segura.",
|
||||
"ssoDialogHelpText": "🤔 Se non ves a nova pestana, por favor, verifica o teu bloqueador de ventás emerxentes.",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -11759,5 +11759,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "ממתינים להשלים את הכניסה",
|
||||
"ssoDialogDesc": "פתחנו לשונית חדשה כדי שתוכל להיכנס בצורה מאובטחת.",
|
||||
"ssoDialogHelpText": "🤔 אם לא ראית את הלשונית החדשה, אנא בדוק את חוסם הפופ-אפ שלך.",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -11795,5 +11795,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "साइन इन पूरा होने की प्रतीक्षा कर रहे हैं",
|
||||
"ssoDialogDesc": "हमने एक नया टैब खोला है ताकि आप सुरक्षित रूप से साइन इन कर सकें।",
|
||||
"ssoDialogHelpText": "🤔 यदि आपने नया टैब नहीं देखा, तो कृपया अपने पॉपअप ब्लॉकर की जांच करें।",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -11082,5 +11082,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "Čekanje na dovršetak prijave",
|
||||
"ssoDialogDesc": "Otvorili smo novu karticu kako biste se mogli sigurno prijaviti.",
|
||||
"ssoDialogHelpText": "🤔 Ako niste vidjeli novu karticu, provjerite svoj blokator iskačućih prozora.",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -10711,5 +10711,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "Várakozás a bejelentkezés befejezésére",
|
||||
"ssoDialogDesc": "Megnyitottunk egy új lapot, hogy biztonságosan be tudj jelentkezni.",
|
||||
"ssoDialogHelpText": "🤔 Ha nem láttad az új lapot, kérlek ellenőrizd a felugró ablak blokkolódat.",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -11788,5 +11788,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "Atingindo para a conclusão do login",
|
||||
"ssoDialogDesc": "Abrimos uma nova aba para que você possa fazer login com segurança.",
|
||||
"ssoDialogHelpText": "🤔 Se você não viu a nova aba, verifique seu bloqueador de pop-ups.",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -10701,5 +10701,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "Menunggu penyelesaian masuk",
|
||||
"ssoDialogDesc": "Kami membuka tab baru agar Anda dapat masuk dengan aman.",
|
||||
"ssoDialogHelpText": "🤔 Jika Anda tidak melihat tab baru, silakan periksa pemblokir popup Anda.",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -11684,5 +11684,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "Acht na sign in a chríochnú",
|
||||
"ssoDialogDesc": "Osclaíomar cluais nua ionas go bhféadfaidh tú síniú isteach go sábháilte.",
|
||||
"ssoDialogHelpText": "🤔 Má chonaic tú an cluais nua, seiceáil le do thoil do bhacadóir pop-up.",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -10713,5 +10713,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "In attesa del completamento dell'accesso",
|
||||
"ssoDialogDesc": "Abbiamo aperto una nuova scheda in modo che tu possa accedere in modo sicuro.",
|
||||
"ssoDialogHelpText": "🤔 Se non hai visto la nuova scheda, controlla il tuo blocco dei popup.",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -11500,5 +11500,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "サインインの完了を待っています",
|
||||
"ssoDialogDesc": "安全にサインインできるように新しいタブを開きました。",
|
||||
"ssoDialogHelpText": "🤔 新しいタブが表示されない場合は、ポップアップブロッカーを確認してください。",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -11740,5 +11740,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "მოლოდინი შესვლის დასრულებამდე",
|
||||
"ssoDialogDesc": "ჩვენ გავხსენით ახალი ჩანართი, რათა უსაფრთხოდ შეხვიდეთ.",
|
||||
"ssoDialogHelpText": "🤔 თუ ახალი ჩანართი არ გინახავთ, გთხოვთ შეამოწმოთ თქვენი პოპ-აპ ბლოკერი.",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -10818,5 +10818,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "로그인 완료 대기 중",
|
||||
"ssoDialogDesc": "안전하게 로그인할 수 있도록 새 탭을 열었습니다.",
|
||||
"ssoDialogHelpText": "🤔 새 탭이 보이지 않으면 팝업 차단기를 확인하세요.",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -11515,5 +11515,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "Laukiama, kol prisijungimas bus baigtas",
|
||||
"ssoDialogDesc": "Atidarėme naują skirtuką, kad galėtumėte saugiai prisijungti.",
|
||||
"ssoDialogHelpText": "🤔 Jei nematėte naujo skirtuko, patikrinkite savo iššokančių langų blokatorių.",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -10696,5 +10696,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "Gaidām, kamēr pieteikšanās tiks pabeigta",
|
||||
"ssoDialogDesc": "Mēs atvērām jaunu cilni, lai jūs varētu droši pieteikties.",
|
||||
"ssoDialogHelpText": "🤔 Ja neredzējāt jauno cilni, lūdzu, pārbaudiet savu uznirstošo logu bloķētāju.",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -11803,5 +11803,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "Venter på at påloggingen skal fullføres",
|
||||
"ssoDialogDesc": "Vi åpnet en ny fane slik at du kan logge inn sikkert.",
|
||||
"ssoDialogHelpText": "🤔 Hvis du ikke så den nye fanen, vennligst sjekk popup-blokkeringen din.",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -10710,5 +10710,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "Wachten op het voltooien van de aanmelding",
|
||||
"ssoDialogDesc": "We hebben een nieuw tabblad geopend zodat je veilig kunt inloggen.",
|
||||
"ssoDialogHelpText": "🤔 Als je het nieuwe tabblad niet hebt gezien, controleer dan je pop-up blocker.",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -10708,5 +10708,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "Czekam na zakończenie logowania",
|
||||
"ssoDialogDesc": "Otworzyliśmy nową kartę, abyś mógł się zalogować bezpiecznie.",
|
||||
"ssoDialogHelpText": "🤔 Jeśli nie widzisz nowej karty, sprawdź swój blokadę wyskakujących okienek.",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -11810,5 +11810,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "Aguardando a conclusão do login",
|
||||
"ssoDialogDesc": "Abrimos uma nova aba para que você possa fazer login com segurança.",
|
||||
"ssoDialogHelpText": "🤔 Se você não viu a nova aba, verifique seu bloqueador de pop-ups.",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -11068,5 +11068,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "Aguardando a conclusão do login",
|
||||
"ssoDialogDesc": "Abrimos uma nova aba para que você possa fazer login com segurança.",
|
||||
"ssoDialogHelpText": "🤔 Se você não viu a nova aba, verifique seu bloqueador de pop-ups.",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -11739,5 +11739,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "Aguardando a conclusão do login",
|
||||
"ssoDialogDesc": "Abrimos uma nova aba para que você possa fazer login com segurança.",
|
||||
"ssoDialogHelpText": "🤔 Se você não viu a nova aba, verifique seu bloqueador de pop-ups.",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -11445,5 +11445,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "Așteptând finalizarea autentificării",
|
||||
"ssoDialogDesc": "Am deschis un nou tab pentru a te putea autentifica în siguranță.",
|
||||
"ssoDialogHelpText": "🤔 Dacă nu ai văzut noul tab, te rugăm să verifici blocatorul de feronete.",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -10815,5 +10815,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "Ожидание завершения входа",
|
||||
"ssoDialogDesc": "Мы открыли новую вкладку, чтобы вы могли безопасно войти.",
|
||||
"ssoDialogHelpText": "🤔 Если вы не видите новую вкладку, пожалуйста, проверьте блокировщик всплывающих окон.",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -11794,5 +11794,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "Čakáme na dokončenie prihlásenia",
|
||||
"ssoDialogDesc": "Otvárame novú kartu, aby ste sa mohli prihlásiť bezpečne.",
|
||||
"ssoDialogHelpText": "🤔 Ak ste nevideli novú kartu, skontrolujte prosím svoj blokovač vyskakovacích okien.",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -11791,5 +11791,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "Čakanje na dokončanje prijave",
|
||||
"ssoDialogDesc": "Odprli smo nov zavihek, da se lahko varno prijavite.",
|
||||
"ssoDialogHelpText": "🤔 Če niste videli novega zavihka, preverite svoj blokator pojavnih oken.",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -11812,5 +11812,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "Čekanje na završetak prijavljivanja",
|
||||
"ssoDialogDesc": "Otvorili smo novu karticu kako biste se mogli sigurno prijaviti.",
|
||||
"ssoDialogHelpText": "🤔 Ako niste videli novu karticu, molimo proverite svoj blokator iskačućih prozora.",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -11188,5 +11188,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "Väntar på att inloggningen ska slutföras",
|
||||
"ssoDialogDesc": "Vi har öppnat en ny flik så att du kan logga in säkert.",
|
||||
"ssoDialogHelpText": "🤔 Om du inte såg den nya fliken, vänligen kontrollera din popup-blockerare.",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -10934,5 +10934,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "உள்நுழைவுக்கு காத்திருக்கிறேன்",
|
||||
"ssoDialogDesc": "நாங்கள் நீங்கள் பாதுகாப்பாக உள்நுழைய புதிய தாவலை திறந்துள்ளோம்.",
|
||||
"ssoDialogHelpText": "🤔 புதிய தாவலை நீங்கள் காணவில்லை என்றால், தயவுசெய்து உங்கள் பாப்-அப் தடுப்பை சரிபார்க்கவும்.",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -11799,5 +11799,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "సైన్ ఇన్ పూర్తి కావడానికి వేచి ఉంది",
|
||||
"ssoDialogDesc": "మీరు సురక్షితంగా సైన్ ఇన్ కావడానికి మేము కొత్త టాబ్ను తెరిచాము.",
|
||||
"ssoDialogHelpText": "🤔 మీరు కొత్త టాబ్ను చూడకపోతే, దయచేసి మీ పాప్-అప్ బ్లాకర్ను తనిఖీ చేయండి.",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -11768,5 +11768,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "รอการลงชื่อเข้าใช้ให้เสร็จสิ้น",
|
||||
"ssoDialogDesc": "เราได้เปิดแท็บใหม่เพื่อให้คุณลงชื่อเข้าใช้ได้อย่างปลอดภัย",
|
||||
"ssoDialogHelpText": "🤔 หากคุณไม่เห็นแท็บใหม่ โปรดตรวจสอบตัวบล็อกป๊อปอัปของคุณ",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -10932,5 +10932,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "Girişin tamamlanmasını bekliyoruz",
|
||||
"ssoDialogDesc": "Güvenli bir şekilde giriş yapabilmeniz için yeni bir sekme açtık.",
|
||||
"ssoDialogHelpText": "🤔 Yeni sekmeyi görmediyseniz, lütfen açılır pencere engelleyicinizi kontrol edin.",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -10704,5 +10704,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "Очікування завершення входу",
|
||||
"ssoDialogDesc": "Ми відкрили нову вкладку, щоб ви могли безпечно увійти.",
|
||||
"ssoDialogHelpText": "🤔 Якщо ви не побачили нову вкладку, будь ласка, перевірте блокувальник спливаючих вікон.",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -6280,5 +6280,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "Đang chờ hoàn tất đăng nhập",
|
||||
"ssoDialogDesc": "Chúng tôi đã mở một tab mới để bạn có thể đăng nhập một cách an toàn.",
|
||||
"ssoDialogHelpText": "🤔 Nếu bạn không thấy tab mới, vui lòng kiểm tra trình chặn popup của bạn.",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -11801,5 +11801,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "等待登錄完成",
|
||||
"ssoDialogDesc": "我們已經打開了一個新標籤,以便您可以安全地登錄。",
|
||||
"ssoDialogHelpText": "🤔 如果您沒有看到新標籤,請檢查您的彈出窗口阻止程序。",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -10701,5 +10701,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "等待登录完成",
|
||||
"ssoDialogDesc": "我们打开了一个新标签页,以便您可以安全地登录。",
|
||||
"ssoDialogHelpText": "🤔 如果您没有看到新标签页,请检查您的弹出窗口拦截器。",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -10708,5 +10708,20 @@
|
|||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ssoDialogTitle": "等待登入完成",
|
||||
"ssoDialogDesc": "我們已開啟一個新標籤頁,以便您安全地登入。",
|
||||
"ssoDialogHelpText": "🤔 如果您沒有看到新標籤頁,請檢查您的彈出式窗口阻擋器。",
|
||||
"@ssoDialogTitle": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogDesc": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"@ssoDialogHelpText": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
|
|
@ -7,7 +7,6 @@ import 'package:fluffychat/l10n/l10n.dart';
|
|||
import 'package:fluffychat/pangea/authentication/p_login.dart';
|
||||
import 'package:fluffychat/pangea/login/pages/login_options_view.dart';
|
||||
import 'package:fluffychat/pangea/login/pages/pangea_login_view.dart';
|
||||
import 'package:fluffychat/pangea/login/widgets/p_sso_button.dart';
|
||||
import 'package:fluffychat/utils/localized_exception_extension.dart';
|
||||
import 'package:fluffychat/widgets/adaptive_dialogs/show_ok_cancel_alert_dialog.dart';
|
||||
import 'package:fluffychat/widgets/adaptive_dialogs/show_text_input_dialog.dart';
|
||||
|
|
@ -43,8 +42,6 @@ class LoginController extends State<Login> {
|
|||
|
||||
// #Pangea
|
||||
bool loadingSignIn = false;
|
||||
bool loadingAppleSSO = false;
|
||||
bool loadingGoogleSSO = false;
|
||||
|
||||
final GlobalKey<FormState> formKey = GlobalKey<FormState>();
|
||||
|
||||
|
|
@ -97,17 +94,6 @@ class LoginController extends State<Login> {
|
|||
}
|
||||
}
|
||||
|
||||
void setLoadingSSO(bool loading, SSOProvider provider) {
|
||||
if (provider == SSOProvider.apple) {
|
||||
loadingAppleSSO = loading;
|
||||
loadingGoogleSSO = false;
|
||||
} else if (provider == SSOProvider.google) {
|
||||
loadingGoogleSSO = loading;
|
||||
loadingAppleSSO = false;
|
||||
}
|
||||
if (mounted) setState(() {});
|
||||
}
|
||||
|
||||
void login() async => pLoginAction(controller: this, context: context);
|
||||
// void login() async {
|
||||
// final matrix = Matrix.of(context);
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@ import 'package:matrix/matrix.dart';
|
|||
import 'package:fluffychat/l10n/l10n.dart';
|
||||
import 'package:fluffychat/pages/login/login.dart';
|
||||
import 'package:fluffychat/pangea/common/utils/firebase_analytics.dart';
|
||||
import 'package:fluffychat/pangea/login/widgets/p_sso_button.dart';
|
||||
import 'package:fluffychat/utils/platform_infos.dart';
|
||||
import 'package:fluffychat/widgets/fluffy_chat_app.dart';
|
||||
import 'package:fluffychat/widgets/future_loading_dialog.dart';
|
||||
|
|
@ -27,8 +26,6 @@ void pLoginAction({
|
|||
),
|
||||
onError: (e, s) {
|
||||
controller.setLoadingSignIn(false);
|
||||
controller.setLoadingSSO(false, SSOProvider.apple);
|
||||
controller.setLoadingSSO(false, SSOProvider.google);
|
||||
return e is MatrixException
|
||||
? e.errorMessage
|
||||
: L10n.of(context).oopsSomethingWentWrong;
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ import 'package:fluffychat/config/app_config.dart';
|
|||
import 'package:fluffychat/l10n/l10n.dart';
|
||||
import 'package:fluffychat/pages/login/login.dart';
|
||||
import 'package:fluffychat/pangea/common/widgets/pangea_logo_svg.dart';
|
||||
import 'package:fluffychat/pangea/login/sso_provider_enum.dart';
|
||||
import 'package:fluffychat/pangea/login/widgets/p_sso_button.dart';
|
||||
|
||||
class LoginOptionsView extends StatelessWidget {
|
||||
|
|
@ -35,17 +36,13 @@ class LoginOptionsView extends StatelessWidget {
|
|||
spacing: 16.0,
|
||||
mainAxisAlignment: MainAxisAlignment.end,
|
||||
children: [
|
||||
PangeaSsoButton(
|
||||
const PangeaSsoButton(
|
||||
provider: SSOProvider.apple,
|
||||
title: "Apple",
|
||||
loading: controller.loadingAppleSSO,
|
||||
setLoading: controller.setLoadingSSO,
|
||||
),
|
||||
PangeaSsoButton(
|
||||
const PangeaSsoButton(
|
||||
provider: SSOProvider.google,
|
||||
title: "Google",
|
||||
loading: controller.loadingGoogleSSO,
|
||||
setLoading: controller.setLoadingSSO,
|
||||
),
|
||||
ElevatedButton(
|
||||
onPressed: () => context.go('/home/login/email'),
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ import 'package:fluffychat/l10n/l10n.dart';
|
|||
import 'package:fluffychat/pangea/common/utils/firebase_analytics.dart';
|
||||
import 'package:fluffychat/pangea/login/pages/signup_view.dart';
|
||||
import 'package:fluffychat/pangea/login/pages/signup_with_email_view.dart';
|
||||
import 'package:fluffychat/pangea/login/widgets/p_sso_button.dart';
|
||||
import 'package:fluffychat/utils/platform_infos.dart';
|
||||
import 'package:fluffychat/widgets/future_loading_dialog.dart';
|
||||
import 'package:fluffychat/widgets/matrix.dart';
|
||||
|
|
@ -34,9 +33,6 @@ class SignupPageController extends State<SignupPage> {
|
|||
String? emailText;
|
||||
|
||||
bool loadingSignup = false;
|
||||
bool loadingAppleSSO = false;
|
||||
bool loadingGoogleSSO = false;
|
||||
|
||||
bool showPassword = false;
|
||||
bool noEmailWarningConfirmed = false;
|
||||
bool displaySecondPasswordField = false;
|
||||
|
|
@ -70,17 +66,6 @@ class SignupPageController extends State<SignupPage> {
|
|||
super.dispose();
|
||||
}
|
||||
|
||||
void setLoadingSSO(bool loading, SSOProvider provider) {
|
||||
if (provider == SSOProvider.apple) {
|
||||
loadingAppleSSO = loading;
|
||||
loadingGoogleSSO = false;
|
||||
} else if (provider == SSOProvider.google) {
|
||||
loadingGoogleSSO = loading;
|
||||
loadingAppleSSO = false;
|
||||
}
|
||||
if (mounted) setState(() {});
|
||||
}
|
||||
|
||||
void setSignupError(String? error) {
|
||||
signupError = error;
|
||||
if (mounted) setState(() {});
|
||||
|
|
@ -162,8 +147,6 @@ class SignupPageController extends State<SignupPage> {
|
|||
onError: (e, s) {
|
||||
setState(() {
|
||||
loadingSignup = false;
|
||||
loadingAppleSSO = false;
|
||||
loadingGoogleSSO = false;
|
||||
});
|
||||
if (e.toString().contains("Request has been canceled")) {
|
||||
Navigator.of(context).pop();
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ import 'package:url_launcher/url_launcher_string.dart';
|
|||
import 'package:fluffychat/config/app_config.dart';
|
||||
import 'package:fluffychat/l10n/l10n.dart';
|
||||
import 'package:fluffychat/pangea/common/widgets/pangea_logo_svg.dart';
|
||||
import 'package:fluffychat/pangea/login/sso_provider_enum.dart';
|
||||
import 'package:fluffychat/pangea/login/widgets/p_sso_button.dart';
|
||||
import 'signup.dart';
|
||||
|
||||
|
|
@ -45,18 +46,8 @@ class SignupPageView extends StatelessWidget {
|
|||
fontWeight: FontWeight.bold,
|
||||
),
|
||||
),
|
||||
PangeaSsoButton(
|
||||
provider: SSOProvider.google,
|
||||
setLoading: controller.setLoadingSSO,
|
||||
loading: controller.loadingGoogleSSO,
|
||||
validator: validator,
|
||||
),
|
||||
PangeaSsoButton(
|
||||
provider: SSOProvider.apple,
|
||||
setLoading: controller.setLoadingSSO,
|
||||
loading: controller.loadingAppleSSO,
|
||||
validator: validator,
|
||||
),
|
||||
const PangeaSsoButton(provider: SSOProvider.google),
|
||||
const PangeaSsoButton(provider: SSOProvider.apple),
|
||||
ElevatedButton(
|
||||
onPressed: () => context.go(
|
||||
'/home/language/signup/email',
|
||||
|
|
|
|||
35
lib/pangea/login/sso_provider_enum.dart
Normal file
35
lib/pangea/login/sso_provider_enum.dart
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:fluffychat/l10n/l10n.dart';
|
||||
|
||||
enum SSOProvider {
|
||||
google,
|
||||
apple;
|
||||
|
||||
String get id {
|
||||
switch (this) {
|
||||
case SSOProvider.google:
|
||||
return "oidc-google";
|
||||
case SSOProvider.apple:
|
||||
return "oidc-apple";
|
||||
}
|
||||
}
|
||||
|
||||
String get asset {
|
||||
switch (this) {
|
||||
case SSOProvider.google:
|
||||
return "assets/pangea/google.svg";
|
||||
case SSOProvider.apple:
|
||||
return "assets/pangea/apple.svg";
|
||||
}
|
||||
}
|
||||
|
||||
String description(BuildContext context) {
|
||||
switch (this) {
|
||||
case SSOProvider.google:
|
||||
return L10n.of(context).withGoogle;
|
||||
case SSOProvider.apple:
|
||||
return L10n.of(context).withApple;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,81 +1,116 @@
|
|||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:matrix/matrix_api_lite/model/matrix_exception.dart';
|
||||
import 'package:flutter_web_auth_2/flutter_web_auth_2.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
import 'package:matrix/matrix.dart';
|
||||
import 'package:universal_html/html.dart' as html;
|
||||
|
||||
import 'package:fluffychat/l10n/l10n.dart';
|
||||
import 'package:fluffychat/config/app_config.dart';
|
||||
import 'package:fluffychat/pages/homeserver_picker/homeserver_picker.dart';
|
||||
import 'package:fluffychat/pangea/login/utils/sso_login_action.dart';
|
||||
import 'package:fluffychat/widgets/future_loading_dialog.dart';
|
||||
|
||||
enum SSOProvider { google, apple }
|
||||
|
||||
extension on SSOProvider {
|
||||
String get id {
|
||||
switch (this) {
|
||||
case SSOProvider.google:
|
||||
return "oidc-google";
|
||||
case SSOProvider.apple:
|
||||
return "oidc-apple";
|
||||
}
|
||||
}
|
||||
|
||||
String get asset {
|
||||
switch (this) {
|
||||
case SSOProvider.google:
|
||||
return "assets/pangea/google.svg";
|
||||
case SSOProvider.apple:
|
||||
return "assets/pangea/apple.svg";
|
||||
}
|
||||
}
|
||||
|
||||
String description(BuildContext context) {
|
||||
switch (this) {
|
||||
case SSOProvider.google:
|
||||
return L10n.of(context).withGoogle;
|
||||
case SSOProvider.apple:
|
||||
return L10n.of(context).withApple;
|
||||
}
|
||||
}
|
||||
}
|
||||
import 'package:fluffychat/pangea/common/utils/firebase_analytics.dart';
|
||||
import 'package:fluffychat/pangea/login/sso_provider_enum.dart';
|
||||
import 'package:fluffychat/pangea/login/widgets/p_sso_dialog.dart';
|
||||
import 'package:fluffychat/utils/platform_infos.dart';
|
||||
import 'package:fluffychat/widgets/fluffy_chat_app.dart';
|
||||
import 'package:fluffychat/widgets/matrix.dart';
|
||||
|
||||
class PangeaSsoButton extends StatelessWidget {
|
||||
final String? title;
|
||||
final SSOProvider provider;
|
||||
|
||||
final Function(bool, SSOProvider) setLoading;
|
||||
final bool loading;
|
||||
final bool? Function()? validator;
|
||||
final String? title;
|
||||
|
||||
const PangeaSsoButton({
|
||||
required this.provider,
|
||||
required this.setLoading,
|
||||
this.title,
|
||||
this.loading = false,
|
||||
this.validator,
|
||||
super.key,
|
||||
});
|
||||
|
||||
Future<void> _runSSOLogin(BuildContext context) async {
|
||||
setLoading(true, provider);
|
||||
await showFutureLoadingDialog(
|
||||
context: context,
|
||||
future: () async => pangeaSSOLoginAction(
|
||||
IdentityProvider(
|
||||
id: provider.id,
|
||||
name: provider.name,
|
||||
Future<void> _runSSOLogin(BuildContext context) => showAdaptiveDialog(
|
||||
context: context,
|
||||
builder: (context) => SSODialog(
|
||||
future: () => _ssoAction(
|
||||
IdentityProvider(
|
||||
id: provider.id,
|
||||
name: provider.name,
|
||||
),
|
||||
context,
|
||||
),
|
||||
),
|
||||
context,
|
||||
),
|
||||
onError: (e, s) {
|
||||
setLoading(false, provider);
|
||||
return e is MatrixException
|
||||
? e.errorMessage
|
||||
: L10n.of(context).oopsSomethingWentWrong;
|
||||
},
|
||||
onDismiss: () => setLoading(false, provider),
|
||||
);
|
||||
|
||||
Future<void> _ssoAction(
|
||||
IdentityProvider provider,
|
||||
BuildContext context,
|
||||
) async {
|
||||
final bool isDefaultPlatform = (PlatformInfos.isMobile ||
|
||||
PlatformInfos.isWeb ||
|
||||
PlatformInfos.isMacOS);
|
||||
final redirectUrl = kIsWeb
|
||||
? Uri.parse(html.window.location.href)
|
||||
.resolveUri(
|
||||
Uri(pathSegments: ['auth.html']),
|
||||
)
|
||||
.toString()
|
||||
: isDefaultPlatform
|
||||
? '${AppConfig.appOpenUrlScheme.toLowerCase()}://login'
|
||||
: 'http://localhost:3001//login';
|
||||
final client = await Matrix.of(context).getLoginClient();
|
||||
final url = client.homeserver!.replace(
|
||||
path: '/_matrix/client/v3/login/sso/redirect/${provider.id ?? ''}',
|
||||
queryParameters: {'redirectUrl': redirectUrl},
|
||||
);
|
||||
setLoading(false, provider);
|
||||
|
||||
final urlScheme = isDefaultPlatform
|
||||
? Uri.parse(redirectUrl).scheme
|
||||
: "http://localhost:3001";
|
||||
String result;
|
||||
try {
|
||||
result = await FlutterWebAuth2.authenticate(
|
||||
url: url.toString(),
|
||||
callbackUrlScheme: urlScheme,
|
||||
);
|
||||
} catch (err) {
|
||||
if (err is PlatformException && err.code == 'CANCELED') {
|
||||
debugPrint("user cancelled SSO login");
|
||||
return;
|
||||
}
|
||||
rethrow;
|
||||
}
|
||||
final token = Uri.parse(result).queryParameters['loginToken'];
|
||||
if (token?.isEmpty ?? false) return;
|
||||
|
||||
final redirect = client.onLoginStateChanged.stream
|
||||
.where((state) => state == LoginState.loggedIn)
|
||||
.first
|
||||
.then(
|
||||
(_) {
|
||||
final route = FluffyChatApp.router.state.fullPath;
|
||||
if (route == null ||
|
||||
(!route.contains("/rooms") && !route.contains('registration'))) {
|
||||
context.go('/rooms');
|
||||
}
|
||||
},
|
||||
).timeout(const Duration(seconds: 30));
|
||||
|
||||
final loginRes = await client.login(
|
||||
LoginType.mLoginToken,
|
||||
token: token,
|
||||
initialDeviceDisplayName: PlatformInfos.clientName,
|
||||
);
|
||||
|
||||
if (client.onLoginStateChanged.value == LoginState.loggedIn) {
|
||||
final route = FluffyChatApp.router.state.fullPath;
|
||||
if (route == null ||
|
||||
(!route.contains("/rooms") && !route.contains('registration'))) {
|
||||
context.go('/rooms');
|
||||
}
|
||||
} else {
|
||||
await redirect;
|
||||
}
|
||||
|
||||
GoogleAnalytics.login(provider.name!, loginRes.userId);
|
||||
}
|
||||
|
||||
@override
|
||||
|
|
@ -102,13 +137,7 @@ class PangeaSsoButton extends StatelessWidget {
|
|||
Text(title ?? provider.description(context)),
|
||||
],
|
||||
),
|
||||
onPressed: () {
|
||||
if (validator != null) {
|
||||
final valid = validator!.call() ?? false;
|
||||
if (!valid) return;
|
||||
}
|
||||
_runSSOLogin(context);
|
||||
},
|
||||
onPressed: () => _runSSOLogin(context),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
107
lib/pangea/login/widgets/p_sso_dialog.dart
Normal file
107
lib/pangea/login/widgets/p_sso_dialog.dart
Normal file
|
|
@ -0,0 +1,107 @@
|
|||
import 'dart:async';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:flutter_linkify/flutter_linkify.dart';
|
||||
|
||||
import 'package:fluffychat/l10n/l10n.dart';
|
||||
import 'package:fluffychat/utils/localized_exception_extension.dart';
|
||||
import 'package:fluffychat/utils/url_launcher.dart';
|
||||
import 'package:fluffychat/widgets/adaptive_dialogs/adaptive_dialog_action.dart';
|
||||
import 'package:fluffychat/widgets/adaptive_dialogs/show_ok_cancel_alert_dialog.dart';
|
||||
|
||||
class SSODialog extends StatefulWidget {
|
||||
final Future<void> Function() future;
|
||||
const SSODialog({
|
||||
super.key,
|
||||
required this.future,
|
||||
});
|
||||
|
||||
@override
|
||||
SSODialogState createState() => SSODialogState();
|
||||
}
|
||||
|
||||
class SSODialogState extends State<SSODialog> {
|
||||
Timer? _hintTimer;
|
||||
bool _showHint = false;
|
||||
Object? _error;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
_runFuture();
|
||||
_hintTimer = Timer(const Duration(seconds: 5), () {
|
||||
if (mounted) {
|
||||
setState(() => _showHint = true);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
_hintTimer?.cancel();
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
Future<void> _runFuture() async {
|
||||
try {
|
||||
await widget.future();
|
||||
} catch (e) {
|
||||
setState(() => _error = e);
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return AlertDialog.adaptive(
|
||||
title: _error == null
|
||||
? ConstrainedBox(
|
||||
constraints: const BoxConstraints(maxWidth: 256),
|
||||
child: Text(L10n.of(context).ssoDialogTitle),
|
||||
)
|
||||
: Icon(
|
||||
Icons.error_outline_outlined,
|
||||
color: Theme.of(context).colorScheme.error,
|
||||
size: 48,
|
||||
),
|
||||
content: ConstrainedBox(
|
||||
constraints: const BoxConstraints(maxWidth: 256),
|
||||
child: _error == null
|
||||
? Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
SelectableLinkify(
|
||||
text: L10n.of(context).ssoDialogDesc,
|
||||
textScaleFactor: MediaQuery.textScalerOf(context).scale(1),
|
||||
linkStyle: TextStyle(
|
||||
color: Theme.of(context).colorScheme.primary,
|
||||
decorationColor: Theme.of(context).colorScheme.primary,
|
||||
),
|
||||
options: const LinkifyOptions(humanize: false),
|
||||
onOpen: (url) => UrlLauncher(context, url.url).launchUrl(),
|
||||
),
|
||||
const SizedBox(height: 16),
|
||||
_showHint
|
||||
? Text(
|
||||
L10n.of(context).ssoDialogHelpText,
|
||||
style: Theme.of(context).textTheme.bodySmall,
|
||||
)
|
||||
: const SizedBox(
|
||||
height: 16.0,
|
||||
width: 16.0,
|
||||
child: CircularProgressIndicator.adaptive(),
|
||||
),
|
||||
],
|
||||
)
|
||||
: Text(_error!.toLocalizedString(context)),
|
||||
),
|
||||
actions: [
|
||||
AdaptiveDialogAction(
|
||||
onPressed: () =>
|
||||
Navigator.of(context).pop<OkCancelResult>(OkCancelResult.cancel),
|
||||
child: Text(L10n.of(context).cancel),
|
||||
),
|
||||
],
|
||||
);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue