From 2b522c5ead910a755ca045e51bc68d0f6a4489fd Mon Sep 17 00:00:00 2001 From: Prospector <6166773+Prospector@users.noreply.github.com> Date: Tue, 27 Oct 2026 22:02:43 -0700 Subject: [PATCH 1/2] refactor auth to support modal mode --- apps/frontend/src/app.vue | 4 + .../src/components/ui/auth/AuthCard.vue | 18 + .../src/components/ui/auth/AuthModal.vue | 107 ++++ .../src/components/ui/auth/CreateAccount.vue | 7 +- .../components/ui/auth/LauncherOpening.vue | 8 +- .../ui/auth/OpeningAuthProvider.vue | 44 ++ .../src/components/ui/auth/SignIn.vue | 258 ++++---- .../src/components/ui/auth/SignUp.vue | 276 ++++---- .../src/components/ui/auth/Turnstile.vue | 10 + .../ui/auth/screens/ReauthenticateScreen.vue | 415 ++++++++++++ .../ui/auth/screens/ResetPasswordScreen.vue | 269 ++++++++ .../ui/auth/screens/SignInScreen.vue | 13 + .../ui/auth/screens/SignUpScreen.vue | 280 ++++++++ .../ui/auth/screens/VerifyEmailScreen.vue | 219 +++++++ apps/frontend/src/composables/accounts.ts | 133 +++- apps/frontend/src/composables/auth-form.ts | 22 + apps/frontend/src/composables/auth-modal.ts | 134 ++++ apps/frontend/src/composables/auth.ts | 20 +- .../frontend/src/composables/external-auth.ts | 66 ++ .../src/composables/oauth-providers.ts | 19 + apps/frontend/src/composables/sign-in.ts | 606 ++++++++++++++++++ apps/frontend/src/layouts/default.vue | 34 +- apps/frontend/src/locales/en-US/index.json | 9 + apps/frontend/src/middleware/auth.ts | 23 +- apps/frontend/src/pages/[type]/[project].vue | 3 +- .../[type]/[project]/settings/versions.vue | 3 +- .../[type]/[project]/version/[version].vue | 3 +- .../src/pages/[type]/[project]/versions.vue | 3 +- apps/frontend/src/pages/auth.vue | 94 --- .../src/pages/auth/reauthenticate.vue | 423 +----------- .../src/pages/auth/reset-password.vue | 299 +-------- apps/frontend/src/pages/auth/sign-in.vue | 579 +---------------- apps/frontend/src/pages/auth/sign-up.vue | 313 +-------- apps/frontend/src/pages/auth/verify-email.vue | 244 +------ apps/frontend/src/pages/hosting/index.vue | 7 +- .../promote-sign-in-oauth-provider.client.ts | 8 +- apps/frontend/src/providers/setup/auth.ts | 10 +- packages/ui/src/components/modal/NewModal.vue | 27 +- 38 files changed, 2721 insertions(+), 2289 deletions(-) create mode 100644 apps/frontend/src/components/ui/auth/AuthCard.vue create mode 100644 apps/frontend/src/components/ui/auth/AuthModal.vue create mode 100644 apps/frontend/src/components/ui/auth/OpeningAuthProvider.vue create mode 100644 apps/frontend/src/components/ui/auth/screens/ReauthenticateScreen.vue create mode 100644 apps/frontend/src/components/ui/auth/screens/ResetPasswordScreen.vue create mode 100644 apps/frontend/src/components/ui/auth/screens/SignInScreen.vue create mode 100644 apps/frontend/src/components/ui/auth/screens/SignUpScreen.vue create mode 100644 apps/frontend/src/components/ui/auth/screens/VerifyEmailScreen.vue create mode 100644 apps/frontend/src/composables/auth-form.ts create mode 100644 apps/frontend/src/composables/auth-modal.ts create mode 100644 apps/frontend/src/composables/external-auth.ts create mode 100644 apps/frontend/src/composables/oauth-providers.ts create mode 100644 apps/frontend/src/composables/sign-in.ts diff --git a/apps/frontend/src/app.vue b/apps/frontend/src/app.vue index 3741d3f1027..ef3c6edcbfe 100644 --- a/apps/frontend/src/app.vue +++ b/apps/frontend/src/app.vue @@ -9,6 +9,9 @@ + + +
@@ -22,6 +25,7 @@ import { } from '@modrinth/ui' import AdsConsentNotification from '~/components/ui/AdsConsentNotification.vue' +import AuthModal from '~/components/ui/auth/AuthModal.vue' import { setupProviders } from '~/providers/setup.ts' import { diff --git a/apps/frontend/src/components/ui/auth/AuthCard.vue b/apps/frontend/src/components/ui/auth/AuthCard.vue new file mode 100644 index 00000000000..d2b70d5f23d --- /dev/null +++ b/apps/frontend/src/components/ui/auth/AuthCard.vue @@ -0,0 +1,18 @@ + + + diff --git a/apps/frontend/src/components/ui/auth/AuthModal.vue b/apps/frontend/src/components/ui/auth/AuthModal.vue new file mode 100644 index 00000000000..8d6f240df4f --- /dev/null +++ b/apps/frontend/src/components/ui/auth/AuthModal.vue @@ -0,0 +1,107 @@ + + + diff --git a/apps/frontend/src/components/ui/auth/CreateAccount.vue b/apps/frontend/src/components/ui/auth/CreateAccount.vue index a668e844592..e04c069b90d 100644 --- a/apps/frontend/src/components/ui/auth/CreateAccount.vue +++ b/apps/frontend/src/components/ui/auth/CreateAccount.vue @@ -1,7 +1,5 @@ diff --git a/apps/frontend/src/components/ui/auth/SignIn.vue b/apps/frontend/src/components/ui/auth/SignIn.vue index 727237bb73a..3683c57b83a 100644 --- a/apps/frontend/src/components/ui/auth/SignIn.vue +++ b/apps/frontend/src/components/ui/auth/SignIn.vue @@ -1,14 +1,16 @@