diff --git a/apps/web/pages/api/auth/callback.ts b/apps/web/pages/api/auth/callback.ts index ebb4091..7c0b934 100644 --- a/apps/web/pages/api/auth/callback.ts +++ b/apps/web/pages/api/auth/callback.ts @@ -7,9 +7,11 @@ const callback: NextApiHandler = async (req, res) => { const redirectedFrom = req.query.redirectedFrom; if (typeof code !== "string") { - return res.redirect( - `/login?error=${encodeURIComponent("Missing or invalid code")}` - ); + const error = + typeof req.query.error_description === "string" + ? req.query.error_description + : "Missing or invalid code"; + return res.redirect(`/login?error=${encodeURIComponent(error)}`); } const supabase = createServerClientForAPI({ req, res }); @@ -25,13 +27,13 @@ const callback: NextApiHandler = async (req, res) => { if (!data.session) { console.error("Auth callback: No session created"); return res.redirect( - `/login?error=${encodeURIComponent("No session created")}` + `/login?error=${encodeURIComponent("No session created")}`, ); } } catch (err) { console.error("Auth callback exception:", err); return res.redirect( - `/login?error=${encodeURIComponent("Authentication failed")}` + `/login?error=${encodeURIComponent("Authentication failed")}`, ); } diff --git a/apps/web/pages/login.tsx b/apps/web/pages/login.tsx index 4d3675e..72315f7 100644 --- a/apps/web/pages/login.tsx +++ b/apps/web/pages/login.tsx @@ -20,7 +20,7 @@ import { useUserData } from "../utils/useUser"; export default function Login() { const router = useRouter(); - const { redirectedFrom } = router.query; + const { error, redirectedFrom } = router.query; const { supabase } = useUserData(); const prefersColorScheme = usePrefersColorScheme(); @@ -47,7 +47,7 @@ export default function Login() { const msg = error.message.toLowerCase(); if (msg.includes("signups not allowed") || msg.includes("not found")) { notifyError( - "No account found for this email. Sign up with Google or GitHub." + "No account found for this email. New registrations are closed.", ); } else { notifyError(error.message); @@ -108,9 +108,13 @@ export default function Login() {

- Get Started + Sign in

+

+ Sign-ins are limited to existing accounts. +

+

By using changes.page you agree to our{" "} @@ -124,6 +128,14 @@ export default function Login() {

+ {typeof error === "string" && ( +

+ {error.toLowerCase().includes("signup") + ? "New registrations are closed. Existing users can still sign in." + : error} +

+ )} +
-