From 0a805b5fc5f1ee147204491887ca5cf059f50250 Mon Sep 17 00:00:00 2001 From: Mustansir Rangwala <119410651+mustansirr@users.noreply.github.com> Date: Thu, 30 Jul 2026 07:49:45 +0530 Subject: [PATCH 1/2] feat: add dedicated login/signup page and link landing buttons to it --- frontend/app/components/landing/CTA.tsx | 15 +-- frontend/app/components/landing/Hero.tsx | 16 ++- frontend/app/components/landing/Navbar.tsx | 31 +++--- frontend/app/dashboard/page.tsx | 2 +- frontend/app/library/page.tsx | 2 +- frontend/app/login/page.tsx | 116 +++++++++++++++++++++ frontend/app/pomodoro/page.tsx | 2 +- 7 files changed, 148 insertions(+), 36 deletions(-) create mode 100644 frontend/app/login/page.tsx diff --git a/frontend/app/components/landing/CTA.tsx b/frontend/app/components/landing/CTA.tsx index 4eb42e5..c5d992d 100644 --- a/frontend/app/components/landing/CTA.tsx +++ b/frontend/app/components/landing/CTA.tsx @@ -1,8 +1,8 @@ "use client"; import { useEffect, useRef } from "react"; -import { signInWithGoogle } from "@/app/auth/actions"; import { ArrowRight, Sparkles } from "lucide-react"; +import Link from "next/link"; export default function CTA() { const sectionRef = useRef(null); @@ -44,12 +44,13 @@ export default function CTA() {

Join hundreds of educators creating engaging educational content with AI.

-
- -
+ + Get Started Free + +

No credit card required ยท Free to try

diff --git a/frontend/app/components/landing/Hero.tsx b/frontend/app/components/landing/Hero.tsx index 15531e4..6b537b6 100644 --- a/frontend/app/components/landing/Hero.tsx +++ b/frontend/app/components/landing/Hero.tsx @@ -1,8 +1,8 @@ "use client"; import { useState, useEffect } from "react"; -import { signInWithGoogle } from "@/app/auth/actions"; import { Sparkles } from "lucide-react"; +import Link from "next/link"; export default function Hero() { return ( @@ -64,14 +64,12 @@ export default function Hero() { -
- -
+ + Generate Video โ†’ + diff --git a/frontend/app/components/landing/Navbar.tsx b/frontend/app/components/landing/Navbar.tsx index bf3e748..2cd4574 100644 --- a/frontend/app/components/landing/Navbar.tsx +++ b/frontend/app/components/landing/Navbar.tsx @@ -1,9 +1,9 @@ "use client"; import { useState } from "react"; -import { signInWithGoogle } from "@/app/auth/actions"; import { Menu, X } from "lucide-react"; import Image from "next/image"; +import Link from "next/link"; export default function Navbar() { const [mobileOpen, setMobileOpen] = useState(false); @@ -41,14 +41,12 @@ export default function Navbar() { {link.label} ))} -
- -
+ + Get Started + {/* Mobile hamburger */} @@ -75,14 +73,13 @@ export default function Navbar() { {link.label} ))} -
- -
+ setMobileOpen(false)} + > + Get Started + )} diff --git a/frontend/app/dashboard/page.tsx b/frontend/app/dashboard/page.tsx index aa171c8..3f288b5 100644 --- a/frontend/app/dashboard/page.tsx +++ b/frontend/app/dashboard/page.tsx @@ -16,7 +16,7 @@ export default async function DashboardPage() { } = await supabase.auth.getUser(); if (!user) { - return redirect("/"); + return redirect("/login"); } return ( diff --git a/frontend/app/library/page.tsx b/frontend/app/library/page.tsx index 480a071..e456678 100644 --- a/frontend/app/library/page.tsx +++ b/frontend/app/library/page.tsx @@ -13,7 +13,7 @@ export default async function LibraryPage() { } = await supabase.auth.getUser(); if (!user) { - return redirect("/"); + return redirect("/login"); } return ( diff --git a/frontend/app/login/page.tsx b/frontend/app/login/page.tsx new file mode 100644 index 0000000..db3ddaf --- /dev/null +++ b/frontend/app/login/page.tsx @@ -0,0 +1,116 @@ +import { createClient } from "@/utils/supabase/server"; +import { redirect } from "next/navigation"; +import { signInWithGoogle } from "@/app/auth/actions"; +import { Brain, ArrowLeft } from "lucide-react"; +import Link from "next/link"; +import Image from "next/image"; + +export default async function LoginPage() { + const supabase = await createClient(); + + const { + data: { user }, + } = await supabase.auth.getUser(); + + if (user) { + redirect("/dashboard"); + } + + return ( +
+ {/* Animated background blobs โ€” soft pastels matching landing page */} +
+
+
+
+ + {/* Back to Home Link */} + + + Back to home + + + {/* Login Card */} +
+
+ {/* Logo / Brand Header */} + + AnimEd AI Logo + + +

+ Welcome to AnimEd AI +

+

+ Turn your ideas into educational animations in seconds. Sign in to start creating. +

+ + {/* OAuth Buttons */} +
+
+ +
+
+ + {/* Divider with text */} +
+ + + AnimEd Security + + +
+ +

+ By signing in, you agree to our{" "} + + Terms of Service + {" "} + and{" "} + + Privacy Policy + + . +

+
+
+
+ ); +} diff --git a/frontend/app/pomodoro/page.tsx b/frontend/app/pomodoro/page.tsx index de566c6..6963179 100644 --- a/frontend/app/pomodoro/page.tsx +++ b/frontend/app/pomodoro/page.tsx @@ -13,7 +13,7 @@ export default async function PomodoroPage() { } = await supabase.auth.getUser(); if (!user) { - return redirect("/"); + return redirect("/login"); } return ( From d132c02d89d6915620cea20ab83df83b7a803970 Mon Sep 17 00:00:00 2001 From: Mustansir Rangwala <119410651+mustansirr@users.noreply.github.com> Date: Thu, 30 Jul 2026 10:01:59 +0530 Subject: [PATCH 2/2] style: simplify login page layout --- frontend/app/login/page.tsx | 24 ------------------------ 1 file changed, 24 deletions(-) diff --git a/frontend/app/login/page.tsx b/frontend/app/login/page.tsx index db3ddaf..69b6a4c 100644 --- a/frontend/app/login/page.tsx +++ b/frontend/app/login/page.tsx @@ -51,9 +51,6 @@ export default async function LoginPage() { /> -

- Welcome to AnimEd AI -

Turn your ideas into educational animations in seconds. Sign in to start creating.

@@ -88,27 +85,6 @@ export default async function LoginPage() { - - {/* Divider with text */} -
- - - AnimEd Security - - -
- -

- By signing in, you agree to our{" "} - - Terms of Service - {" "} - and{" "} - - Privacy Policy - - . -