From a894054621eb354b8f237a11ba18982b90202071 Mon Sep 17 00:00:00 2001 From: Aysel Date: Fri, 13 Mar 2026 21:04:46 -0400 Subject: [PATCH 1/3] completed static onboarding page --- apps/frontend/app/login/page.tsx | 46 ++++++++++++ apps/frontend/app/signup/page.tsx | 121 ++++++++++++++++++++++++++++++ 2 files changed, 167 insertions(+) create mode 100644 apps/frontend/app/login/page.tsx create mode 100644 apps/frontend/app/signup/page.tsx diff --git a/apps/frontend/app/login/page.tsx b/apps/frontend/app/login/page.tsx new file mode 100644 index 0000000..8a2b125 --- /dev/null +++ b/apps/frontend/app/login/page.tsx @@ -0,0 +1,46 @@ +// apps/frontend/app/login/page.tsx +export default function LoginPage() { + return ( +
+
+

Login

+ +
+
+ + +
+ +
+ + +
+ +
+
+
+ + + +
+ +
+ +
+ + +
+ +

+ Dont have an account? Register +

+
+
+ ); +} \ No newline at end of file diff --git a/apps/frontend/app/signup/page.tsx b/apps/frontend/app/signup/page.tsx new file mode 100644 index 0000000..f32c05f --- /dev/null +++ b/apps/frontend/app/signup/page.tsx @@ -0,0 +1,121 @@ +"use client"; + +import { useState } from "react"; +import Link from "next/link"; + +export default function SignupPage() { + const [isSignedUp, setIsSignedUp] = useState(false); + + // --- Onboarding View (Matches Figma) --- + if (isSignedUp) { + return ( +
+
+ {/* Back Arrow to return to Register */} + + +
+

Welcome to CS+SG

+

Set up your basic profile

+
+ +
+ {/* Avatar Section */} +
+
+
+
+
+
+
+ +
+ + {/* Identity Fields */} +
+
+ + +
+
+ + +
+
+ + +
+
+
+ + {/* Links Section */} +
+ +
+ + +
+
+
+ +
+
+ +
+
+
+ + +
+
+ ); + } + + // --- Register View --- + return ( +
+
+

Register

+ +
+
+ + +
+ +
+ + +
+
+ + + +

+ Have an account? Login +

+
+
+ ); +} \ No newline at end of file From df17524e9c5a9613d9a2e429f235b359565a0dee Mon Sep 17 00:00:00 2001 From: Aysel Date: Sun, 15 Mar 2026 02:28:45 -0400 Subject: [PATCH 2/3] onboarding and signup components, login placeholders, linting --- apps/frontend/app/components/Onboarding.tsx | 67 +++++++++++ apps/frontend/app/components/SignUpForm.tsx | 31 +++++ apps/frontend/app/forgot-password/page.tsx | 12 ++ apps/frontend/app/login/page.tsx | 67 ++++++----- apps/frontend/app/signup/page.tsx | 119 ++------------------ 5 files changed, 155 insertions(+), 141 deletions(-) create mode 100644 apps/frontend/app/components/Onboarding.tsx create mode 100644 apps/frontend/app/components/SignUpForm.tsx create mode 100644 apps/frontend/app/forgot-password/page.tsx diff --git a/apps/frontend/app/components/Onboarding.tsx b/apps/frontend/app/components/Onboarding.tsx new file mode 100644 index 0000000..865743a --- /dev/null +++ b/apps/frontend/app/components/Onboarding.tsx @@ -0,0 +1,67 @@ +export default function Onboarding({ onBack }: { onBack: () => void }) { + return ( +
+ + +
+

Welcome to CS+SG

+

Set up your basic profile

+
+ + {/* Avatar and Identity Fields */} +
+
+
+
+
+
+
+
+ +
+ +
+
+ + +
+
+ + +
+
+ + +
+
+
+ + {/* Links Section */} +
+ +
+ + +
+
+
+ +
+
+
+ + +
+ ); +} diff --git a/apps/frontend/app/components/SignUpForm.tsx b/apps/frontend/app/components/SignUpForm.tsx new file mode 100644 index 0000000..39b73b2 --- /dev/null +++ b/apps/frontend/app/components/SignUpForm.tsx @@ -0,0 +1,31 @@ +import Link from "next/link"; + +export default function SignupForm({ onSignupSuccess }: { onSignupSuccess: () => void }) { + return ( +
+

Register

+
+
+ + +
+
+ + +
+
+ +

+ Have an account?{" "} + + Login + +

+
+ ); +} diff --git a/apps/frontend/app/forgot-password/page.tsx b/apps/frontend/app/forgot-password/page.tsx new file mode 100644 index 0000000..468f9e1 --- /dev/null +++ b/apps/frontend/app/forgot-password/page.tsx @@ -0,0 +1,12 @@ +export default function ForgotPasswordPage() { + return ( +
+
+

Forgot Password

+

Enter your email to reset your password.

+ + +
+
+ ); +} diff --git a/apps/frontend/app/login/page.tsx b/apps/frontend/app/login/page.tsx index 8a2b125..d5d12a9 100644 --- a/apps/frontend/app/login/page.tsx +++ b/apps/frontend/app/login/page.tsx @@ -1,46 +1,53 @@ -// apps/frontend/app/login/page.tsx +"use client"; +import Link from "next/link"; + export default function LoginPage() { + const handleLogin = () => console.log("Standard login triggered"); + const handleGithubLogin = () => console.log("Github OAuth triggered"); + const handleGoogleLogin = () => console.log("Google OAuth triggered"); + return (
-
-

Login

- -
-
- - -
- -
- - -
- -
-
-
- - - -
- +
+ + Forgot Password? +
- + {/* ... Divider ... */}
- -
- -

- Dont have an account? Register +

+ Don't have an account?{" "} + + Register +

); -} \ No newline at end of file +} diff --git a/apps/frontend/app/signup/page.tsx b/apps/frontend/app/signup/page.tsx index f32c05f..8ef5de4 100644 --- a/apps/frontend/app/signup/page.tsx +++ b/apps/frontend/app/signup/page.tsx @@ -1,121 +1,18 @@ "use client"; - import { useState } from "react"; -import Link from "next/link"; +import SignUpForm from "../components/SignUpForm"; +import Onboarding from "../components/Onboarding"; export default function SignupPage() { const [isSignedUp, setIsSignedUp] = useState(false); - // --- Onboarding View (Matches Figma) --- - if (isSignedUp) { - return ( -
-
- {/* Back Arrow to return to Register */} - - -
-

Welcome to CS+SG

-

Set up your basic profile

-
- -
- {/* Avatar Section */} -
-
-
-
-
-
-
- -
- - {/* Identity Fields */} -
-
- - -
-
- - -
-
- - -
-
-
- - {/* Links Section */} -
- -
- - -
-
-
- -
-
- -
-
-
- - -
-
- ); - } - - // --- Register View --- return (
-
-

Register

- -
-
- - -
- -
- - -
-
- - - -

- Have an account? Login -

-
+ {isSignedUp ? ( + setIsSignedUp(false)} /> + ) : ( + setIsSignedUp(true)} /> + )}
); -} \ No newline at end of file +} From 02a5538251ca6d0e3cc560609742ed6b1a6249cb Mon Sep 17 00:00:00 2001 From: pmoharana-cmd Date: Mon, 16 Mar 2026 03:37:13 +0000 Subject: [PATCH 3/3] Fix login styling and add email/password fields --- apps/frontend/app/components/SignUpForm.tsx | 24 +++++--- apps/frontend/app/login/page.tsx | 65 ++++++++++++++++----- apps/frontend/app/signup/page.tsx | 2 +- 3 files changed, 68 insertions(+), 23 deletions(-) diff --git a/apps/frontend/app/components/SignUpForm.tsx b/apps/frontend/app/components/SignUpForm.tsx index 39b73b2..342757c 100644 --- a/apps/frontend/app/components/SignUpForm.tsx +++ b/apps/frontend/app/components/SignUpForm.tsx @@ -2,27 +2,33 @@ import Link from "next/link"; export default function SignupForm({ onSignupSuccess }: { onSignupSuccess: () => void }) { return ( -
-

Register

+
+

Register

- - + +
- - + +
-

+

Have an account?{" "} - + Login

diff --git a/apps/frontend/app/login/page.tsx b/apps/frontend/app/login/page.tsx index d5d12a9..1d19a5d 100644 --- a/apps/frontend/app/login/page.tsx +++ b/apps/frontend/app/login/page.tsx @@ -1,19 +1,58 @@ "use client"; +import { useState } from "react"; import Link from "next/link"; export default function LoginPage() { - const handleLogin = () => console.log("Standard login triggered"); - const handleGithubLogin = () => console.log("Github OAuth triggered"); - const handleGoogleLogin = () => console.log("Google OAuth triggered"); + const [email, setEmail] = useState(""); + const [password, setPassword] = useState(""); + + const logLoginAttempt = (method: "standard" | "github" | "google") => { + console.log("Login attempt", { + method, + email, + password, + }); + }; + + const handleLogin = () => logLoginAttempt("standard"); + const handleGithubLogin = () => logLoginAttempt("github"); + const handleGoogleLogin = () => logLoginAttempt("google"); return ( -
-
-

Login

- {/* ... Email/Password inputs ... */} +
+
+

Login

+
+
+ + setEmail(event.target.value)} + className="w-full rounded border border-slate-300 bg-white px-3 py-2 text-slate-900 placeholder:text-slate-400" + placeholder="you@example.com" + /> +
+
+ + setPassword(event.target.value)} + className="w-full rounded border border-slate-300 bg-white px-3 py-2 text-slate-900 placeholder:text-slate-400" + placeholder="Enter your password" + /> +
+
@@ -21,7 +60,7 @@ export default function LoginPage() { Forgot Password? @@ -30,20 +69,20 @@ export default function LoginPage() {
-

+

Don't have an account?{" "} - + Register

diff --git a/apps/frontend/app/signup/page.tsx b/apps/frontend/app/signup/page.tsx index 8ef5de4..52497d4 100644 --- a/apps/frontend/app/signup/page.tsx +++ b/apps/frontend/app/signup/page.tsx @@ -7,7 +7,7 @@ export default function SignupPage() { const [isSignedUp, setIsSignedUp] = useState(false); return ( -
+
{isSignedUp ? ( setIsSignedUp(false)} /> ) : (