feat: implement mutual exclusion and warnings between Google Authenticator and Email 2FA

This commit is contained in:
2026-05-21 21:48:12 +07:00
parent 0d083765ff
commit 4741a2dff2
38 changed files with 151 additions and 122 deletions
+83 -83
View File
@@ -1,48 +1,48 @@
{
"_AuthenticatedLayout-CXpLpvfQ.js": {
"file": "assets/AuthenticatedLayout-CXpLpvfQ.js",
"_AuthenticatedLayout-CZMAOddq.js": {
"file": "assets/AuthenticatedLayout-CZMAOddq.js",
"name": "AuthenticatedLayout",
"imports": [
"resources/js/app.tsx"
]
},
"_Can-aEBbIqzc.js": {
"file": "assets/Can-aEBbIqzc.js",
"_Can-BT_qEciu.js": {
"file": "assets/Can-BT_qEciu.js",
"name": "Can",
"imports": [
"resources/js/app.tsx"
]
},
"_GuestLayout-BORLbkZX.js": {
"file": "assets/GuestLayout-BORLbkZX.js",
"_GuestLayout-CpqulkKK.js": {
"file": "assets/GuestLayout-CpqulkKK.js",
"name": "GuestLayout",
"imports": [
"resources/js/app.tsx"
]
},
"_Portal-ZuUL6jDP.js": {
"file": "assets/Portal-ZuUL6jDP.js",
"_Portal-C4bxW5LS.js": {
"file": "assets/Portal-C4bxW5LS.js",
"name": "Portal",
"imports": [
"resources/js/app.tsx"
]
},
"_PrimaryButton-BtFEIj4P.js": {
"file": "assets/PrimaryButton-BtFEIj4P.js",
"_PrimaryButton-B-198fPD.js": {
"file": "assets/PrimaryButton-B-198fPD.js",
"name": "PrimaryButton",
"imports": [
"resources/js/app.tsx"
]
},
"_TextInput-B35jNVPX.js": {
"file": "assets/TextInput-B35jNVPX.js",
"_TextInput-DIBT30cO.js": {
"file": "assets/TextInput-DIBT30cO.js",
"name": "TextInput",
"imports": [
"resources/js/app.tsx"
]
},
"_filepond-plugin-file-validate-type-BAKlQ56G.js": {
"file": "assets/filepond-plugin-file-validate-type-BAKlQ56G.js",
"_filepond-plugin-file-validate-type-B3Dqa0H5.js": {
"file": "assets/filepond-plugin-file-validate-type-B3Dqa0H5.js",
"name": "filepond-plugin-file-validate-type",
"imports": [
"resources/js/app.tsx"
@@ -55,15 +55,15 @@
"file": "assets/filepond-plugin-file-validate-type-CEtEkCs1.css",
"src": "_filepond-plugin-file-validate-type-CEtEkCs1.css"
},
"_lodash-CLeklbGx.js": {
"file": "assets/lodash-CLeklbGx.js",
"_lodash-CfGKNmxp.js": {
"file": "assets/lodash-CfGKNmxp.js",
"name": "lodash",
"imports": [
"resources/js/app.tsx"
]
},
"_swal-C9zpmKwY.js": {
"file": "assets/swal-C9zpmKwY.js",
"_swal-Cf7rt6k6.js": {
"file": "assets/swal-Cf7rt6k6.js",
"name": "swal",
"imports": [
"resources/js/app.tsx"
@@ -77,99 +77,99 @@
"src": "_swal-DtpL8WXZ.css"
},
"resources/js/Pages/ActivityLogs/Index.tsx": {
"file": "assets/Index-DzpVQFJ4.js",
"file": "assets/Index-D3_xEHMc.js",
"name": "Index",
"src": "resources/js/Pages/ActivityLogs/Index.tsx",
"isDynamicEntry": true,
"imports": [
"resources/js/app.tsx",
"_lodash-CLeklbGx.js",
"_Portal-ZuUL6jDP.js",
"_AuthenticatedLayout-CXpLpvfQ.js"
"_lodash-CfGKNmxp.js",
"_Portal-C4bxW5LS.js",
"_AuthenticatedLayout-CZMAOddq.js"
]
},
"resources/js/Pages/Auth/ConfirmPassword.tsx": {
"file": "assets/ConfirmPassword-C8_m379L.js",
"file": "assets/ConfirmPassword-B83Fzxoz.js",
"name": "ConfirmPassword",
"src": "resources/js/Pages/Auth/ConfirmPassword.tsx",
"isDynamicEntry": true,
"imports": [
"resources/js/app.tsx",
"_GuestLayout-BORLbkZX.js"
"_GuestLayout-CpqulkKK.js"
]
},
"resources/js/Pages/Auth/ForgotPassword.tsx": {
"file": "assets/ForgotPassword-CNcZIt5Q.js",
"file": "assets/ForgotPassword-CvBhS9bA.js",
"name": "ForgotPassword",
"src": "resources/js/Pages/Auth/ForgotPassword.tsx",
"isDynamicEntry": true,
"imports": [
"resources/js/app.tsx",
"_GuestLayout-BORLbkZX.js"
"_GuestLayout-CpqulkKK.js"
]
},
"resources/js/Pages/Auth/Login.tsx": {
"file": "assets/Login-DQ3Z3wsG.js",
"file": "assets/Login-DsA7F0f8.js",
"name": "Login",
"src": "resources/js/Pages/Auth/Login.tsx",
"isDynamicEntry": true,
"imports": [
"resources/js/app.tsx",
"_GuestLayout-BORLbkZX.js"
"_GuestLayout-CpqulkKK.js"
]
},
"resources/js/Pages/Auth/Register.tsx": {
"file": "assets/Register-DQmW76pT.js",
"file": "assets/Register-CgyquNdn.js",
"name": "Register",
"src": "resources/js/Pages/Auth/Register.tsx",
"isDynamicEntry": true,
"imports": [
"resources/js/app.tsx",
"_GuestLayout-BORLbkZX.js"
"_GuestLayout-CpqulkKK.js"
]
},
"resources/js/Pages/Auth/ResetPassword.tsx": {
"file": "assets/ResetPassword-CNbooicX.js",
"file": "assets/ResetPassword-tfeF_2Ko.js",
"name": "ResetPassword",
"src": "resources/js/Pages/Auth/ResetPassword.tsx",
"isDynamicEntry": true,
"imports": [
"resources/js/app.tsx",
"_GuestLayout-BORLbkZX.js"
"_GuestLayout-CpqulkKK.js"
]
},
"resources/js/Pages/Auth/VerifyEmail.tsx": {
"file": "assets/VerifyEmail-Drz-rNTv.js",
"file": "assets/VerifyEmail-BtQ6uoK9.js",
"name": "VerifyEmail",
"src": "resources/js/Pages/Auth/VerifyEmail.tsx",
"isDynamicEntry": true,
"imports": [
"resources/js/app.tsx",
"_GuestLayout-BORLbkZX.js"
"_GuestLayout-CpqulkKK.js"
]
},
"resources/js/Pages/Dashboard.tsx": {
"file": "assets/Dashboard-Bs1aTWkN.js",
"file": "assets/Dashboard-B1Ib1Ge-.js",
"name": "Dashboard",
"src": "resources/js/Pages/Dashboard.tsx",
"isDynamicEntry": true,
"imports": [
"resources/js/app.tsx",
"_AuthenticatedLayout-CXpLpvfQ.js"
"_AuthenticatedLayout-CZMAOddq.js"
]
},
"resources/js/Pages/Docs/Index.tsx": {
"file": "assets/Index-Clbyj6qp.js",
"file": "assets/Index-C4XMvKk1.js",
"name": "Index",
"src": "resources/js/Pages/Docs/Index.tsx",
"isDynamicEntry": true,
"imports": [
"resources/js/app.tsx",
"_AuthenticatedLayout-CXpLpvfQ.js"
"_AuthenticatedLayout-CZMAOddq.js"
]
},
"resources/js/Pages/Errors/Error.tsx": {
"file": "assets/Error-491emkBU.js",
"file": "assets/Error-BebYoa_W.js",
"name": "Error",
"src": "resources/js/Pages/Errors/Error.tsx",
"isDynamicEntry": true,
@@ -178,144 +178,144 @@
]
},
"resources/js/Pages/Notifications/Index.tsx": {
"file": "assets/Index-CM_OsA8m.js",
"file": "assets/Index-UH2JN6mC.js",
"name": "Index",
"src": "resources/js/Pages/Notifications/Index.tsx",
"isDynamicEntry": true,
"imports": [
"resources/js/app.tsx",
"_swal-C9zpmKwY.js",
"_AuthenticatedLayout-CXpLpvfQ.js"
"_swal-Cf7rt6k6.js",
"_AuthenticatedLayout-CZMAOddq.js"
]
},
"resources/js/Pages/Profile/Edit.tsx": {
"file": "assets/Edit-CNCkRx_6.js",
"file": "assets/Edit-03jCPcuh.js",
"name": "Edit",
"src": "resources/js/Pages/Profile/Edit.tsx",
"isDynamicEntry": true,
"imports": [
"resources/js/app.tsx",
"_filepond-plugin-file-validate-type-BAKlQ56G.js",
"_swal-C9zpmKwY.js",
"_AuthenticatedLayout-CXpLpvfQ.js"
"_filepond-plugin-file-validate-type-B3Dqa0H5.js",
"_swal-Cf7rt6k6.js",
"_AuthenticatedLayout-CZMAOddq.js"
]
},
"resources/js/Pages/Profile/Partials/DeleteUserForm.tsx": {
"file": "assets/DeleteUserForm-DE7x8Leb.js",
"file": "assets/DeleteUserForm-DL3nrZ2g.js",
"name": "DeleteUserForm",
"src": "resources/js/Pages/Profile/Partials/DeleteUserForm.tsx",
"isDynamicEntry": true,
"imports": [
"resources/js/app.tsx",
"_TextInput-B35jNVPX.js"
"_TextInput-DIBT30cO.js"
]
},
"resources/js/Pages/Profile/Partials/UpdatePasswordForm.tsx": {
"file": "assets/UpdatePasswordForm-BXHAer6n.js",
"file": "assets/UpdatePasswordForm-Bj6jDU-o.js",
"name": "UpdatePasswordForm",
"src": "resources/js/Pages/Profile/Partials/UpdatePasswordForm.tsx",
"isDynamicEntry": true,
"imports": [
"resources/js/app.tsx",
"_TextInput-B35jNVPX.js",
"_PrimaryButton-BtFEIj4P.js"
"_TextInput-DIBT30cO.js",
"_PrimaryButton-B-198fPD.js"
]
},
"resources/js/Pages/Profile/Partials/UpdateProfileInformationForm.tsx": {
"file": "assets/UpdateProfileInformationForm-D_xlGwWe.js",
"file": "assets/UpdateProfileInformationForm-x1ycxwpU.js",
"name": "UpdateProfileInformationForm",
"src": "resources/js/Pages/Profile/Partials/UpdateProfileInformationForm.tsx",
"isDynamicEntry": true,
"imports": [
"resources/js/app.tsx",
"_TextInput-B35jNVPX.js",
"_PrimaryButton-BtFEIj4P.js"
"_TextInput-DIBT30cO.js",
"_PrimaryButton-B-198fPD.js"
]
},
"resources/js/Pages/Roles/Index.tsx": {
"file": "assets/Index-6bUEpOuA.js",
"file": "assets/Index-Bxo6DlXR.js",
"name": "Index",
"src": "resources/js/Pages/Roles/Index.tsx",
"isDynamicEntry": true,
"imports": [
"resources/js/app.tsx",
"_swal-C9zpmKwY.js",
"_Can-aEBbIqzc.js",
"_Portal-ZuUL6jDP.js",
"_AuthenticatedLayout-CXpLpvfQ.js"
"_swal-Cf7rt6k6.js",
"_Can-BT_qEciu.js",
"_Portal-C4bxW5LS.js",
"_AuthenticatedLayout-CZMAOddq.js"
]
},
"resources/js/Pages/Settings/Index.tsx": {
"file": "assets/Index-CHGUROqj.js",
"file": "assets/Index-BEDHs4KH.js",
"name": "Index",
"src": "resources/js/Pages/Settings/Index.tsx",
"isDynamicEntry": true,
"imports": [
"resources/js/app.tsx",
"_filepond-plugin-file-validate-type-BAKlQ56G.js",
"_swal-C9zpmKwY.js",
"_AuthenticatedLayout-CXpLpvfQ.js"
"_filepond-plugin-file-validate-type-B3Dqa0H5.js",
"_swal-Cf7rt6k6.js",
"_AuthenticatedLayout-CZMAOddq.js"
]
},
"resources/js/Pages/SystemSettings/Index.tsx": {
"file": "assets/Index-6mXjOBEX.js",
"file": "assets/Index-DAezGIHX.js",
"name": "Index",
"src": "resources/js/Pages/SystemSettings/Index.tsx",
"isDynamicEntry": true,
"imports": [
"resources/js/app.tsx",
"_filepond-plugin-file-validate-type-BAKlQ56G.js",
"_swal-C9zpmKwY.js",
"_AuthenticatedLayout-CXpLpvfQ.js"
"_filepond-plugin-file-validate-type-B3Dqa0H5.js",
"_swal-Cf7rt6k6.js",
"_AuthenticatedLayout-CZMAOddq.js"
]
},
"resources/js/Pages/TwoFactor/Challenge.tsx": {
"file": "assets/Challenge-B-MEZl4t.js",
"file": "assets/Challenge-CqCDMv4q.js",
"name": "Challenge",
"src": "resources/js/Pages/TwoFactor/Challenge.tsx",
"isDynamicEntry": true,
"imports": [
"resources/js/app.tsx",
"_swal-C9zpmKwY.js"
"_swal-Cf7rt6k6.js"
]
},
"resources/js/Pages/TwoFactor/Setup.tsx": {
"file": "assets/Setup-DM1eUCiO.js",
"file": "assets/Setup-CXlum4ul.js",
"name": "Setup",
"src": "resources/js/Pages/TwoFactor/Setup.tsx",
"isDynamicEntry": true,
"imports": [
"resources/js/app.tsx",
"_swal-C9zpmKwY.js",
"_AuthenticatedLayout-CXpLpvfQ.js"
"_swal-Cf7rt6k6.js",
"_AuthenticatedLayout-CZMAOddq.js"
]
},
"resources/js/Pages/Users/Index.tsx": {
"file": "assets/Index-id2bWuhS.js",
"file": "assets/Index-B1Df_MTA.js",
"name": "Index",
"src": "resources/js/Pages/Users/Index.tsx",
"isDynamicEntry": true,
"imports": [
"resources/js/app.tsx",
"_lodash-CLeklbGx.js",
"_swal-C9zpmKwY.js",
"_Can-aEBbIqzc.js",
"_Portal-ZuUL6jDP.js",
"_AuthenticatedLayout-CXpLpvfQ.js"
"_lodash-CfGKNmxp.js",
"_swal-Cf7rt6k6.js",
"_Can-BT_qEciu.js",
"_Portal-C4bxW5LS.js",
"_AuthenticatedLayout-CZMAOddq.js"
]
},
"resources/js/Pages/Users/Show.tsx": {
"file": "assets/Show-WkOO4ELw.js",
"file": "assets/Show-DVHU9Jb4.js",
"name": "Show",
"src": "resources/js/Pages/Users/Show.tsx",
"isDynamicEntry": true,
"imports": [
"resources/js/app.tsx",
"_AuthenticatedLayout-CXpLpvfQ.js"
"_AuthenticatedLayout-CZMAOddq.js"
]
},
"resources/js/Pages/Welcome.tsx": {
"file": "assets/Welcome-CN-3K6xf.js",
"file": "assets/Welcome-CEh935DI.js",
"name": "Welcome",
"src": "resources/js/Pages/Welcome.tsx",
"isDynamicEntry": true,
@@ -324,7 +324,7 @@
]
},
"resources/js/Pages/Xxx.tsx": {
"file": "assets/Xxx-CSfLTFTj.js",
"file": "assets/Xxx-U6leRq9N.js",
"name": "Xxx",
"src": "resources/js/Pages/Xxx.tsx",
"isDynamicEntry": true,
@@ -333,7 +333,7 @@
]
},
"resources/js/app.tsx": {
"file": "assets/app-C-4jOatG.js",
"file": "assets/app-DydVzIzS.js",
"name": "app",
"src": "resources/js/app.tsx",
"isEntry": true,