From ee88353e13d14b74adfb757c31ea32a8fc3ac0d8 Mon Sep 17 00:00:00 2001 From: Brendan Kellam Date: Wed, 4 Jun 2025 16:42:52 -0700 Subject: [PATCH] chore: Add separate login / signup screens (#331) --- CHANGELOG.md | 3 ++ .../src/app/login/components/loginForm.tsx | 20 ++++++-- packages/web/src/app/login/page.tsx | 1 + packages/web/src/app/signup/page.tsx | 48 +++++++++++++++++++ packages/web/src/middleware.ts | 6 ++- 5 files changed, 74 insertions(+), 4 deletions(-) create mode 100644 packages/web/src/app/signup/page.tsx diff --git a/CHANGELOG.md b/CHANGELOG.md index b5d8dae6..f4e157cf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Added +- Added seperate page for signup. [#311](https://github.com/sourcebot-dev/sourcebot/pull/331) + ## [4.1.1] - 2025-06-03 ### Added diff --git a/packages/web/src/app/login/components/loginForm.tsx b/packages/web/src/app/login/components/loginForm.tsx index bce69025..721af536 100644 --- a/packages/web/src/app/login/components/loginForm.tsx +++ b/packages/web/src/app/login/components/loginForm.tsx @@ -22,9 +22,10 @@ interface LoginFormProps { callbackUrl?: string; error?: string; providers: Array<{ id: string; name: string }>; + context: "login" | "signup"; } -export const LoginForm = ({ callbackUrl, error, providers }: LoginFormProps) => { +export const LoginForm = ({ callbackUrl, error, providers, context }: LoginFormProps) => { const captureEvent = useCaptureEvent(); const onSignInWithOauth = useCallback((provider: string) => { signIn(provider, { @@ -77,9 +78,11 @@ export const LoginForm = ({ callbackUrl, error, providers }: LoginFormProps) =>
-

Sign in to your account

+

+ {context === "login" ? "Sign in to your account" : "Create a new account"} +

{env.NEXT_PUBLIC_SOURCEBOT_CLOUD_ENVIRONMENT !== undefined && (
@@ -120,6 +123,17 @@ export const LoginForm = ({ callbackUrl, error, providers }: LoginFormProps) => ] : []) ]} /> +

+ {context === "login" ? + <> + No account yet? Sign up + + : + <> + Already have an account? Sign in + + } +

{env.NEXT_PUBLIC_SOURCEBOT_CLOUD_ENVIRONMENT !== undefined && (

By signing in, you agree to the Terms of Service and Privacy Policy.

diff --git a/packages/web/src/app/login/page.tsx b/packages/web/src/app/login/page.tsx index 4fc6f9c4..a948a464 100644 --- a/packages/web/src/app/login/page.tsx +++ b/packages/web/src/app/login/page.tsx @@ -40,6 +40,7 @@ export default async function Login({ searchParams }: LoginProps) { callbackUrl={searchParams.callbackUrl} error={searchParams.error} providers={providerData} + context="login" />