From faf0fe89b45d05ab16c5abeba680cb4c439d9a2e Mon Sep 17 00:00:00 2001 From: bender Date: Mon, 2 Mar 2026 21:33:35 +0000 Subject: [PATCH 1/7] Add src/app/community/page.tsx --- src/app/community/page.tsx | 169 +++++++++++++++++++++++++++++++++++++ 1 file changed, 169 insertions(+) create mode 100644 src/app/community/page.tsx diff --git a/src/app/community/page.tsx b/src/app/community/page.tsx new file mode 100644 index 0000000..670b1db --- /dev/null +++ b/src/app/community/page.tsx @@ -0,0 +1,169 @@ +"use client"; + +import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; +import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered'; +import FooterMedia from '@/components/sections/footer/FooterMedia'; +import { MessageCircle, Users, Globe } from 'lucide-react'; + +export default function CommunityPage() { + const communityChannels = [ + { + icon: MessageCircle, + title: "Discussion Forum", description: "Ask questions, share insights, and connect with other learners about financial topics.", link: "#", members: "5,234" + }, + { + icon: Users, + title: "Study Groups", description: "Join topic-specific study groups to learn together with peers on your level.", link: "#", members: "1,892" + }, + { + icon: Globe, + title: "Global Events", description: "Participate in live webinars, challenges, and networking events with the FinHub community.", link: "#", members: "8,456" + }, + ]; + + const leaderboardData = [ + { rank: 1, name: "Alex Chen", points: 2840, streak: "45 days" }, + { rank: 2, name: "Sarah Williams", points: 2720, streak: "38 days" }, + { rank: 3, name: "Marcus Johnson", points: 2590, streak: "32 days" }, + { rank: 4, name: "Emma Rodriguez", points: 2410, streak: "28 days" }, + { rank: 5, name: "James Park", points: 2280, streak: "24 days" }, + ]; + + return ( + + + +
+
+ {/* Header */} +
+

FinHub Community

+

+ Connect with thousands of learners, share experiences, and grow together in our supportive financial education community. +

+
+ + {/* Community Channels */} +
+ {communityChannels.map((channel, index) => { + const Icon = channel.icon; + return ( +
+ +

{channel.title}

+

{channel.description}

+
+ {channel.members} members + + Join → + +
+
+ ); + })} +
+ + {/* Leaderboard */} +
+

Top Learners Leaderboard

+
+ {leaderboardData.map((user) => ( +
+
+
+ {user.rank} +
+
+

{user.name}

+

Streak: {user.streak}

+
+
+

{user.points} pts

+
+ ))} +
+
+ + {/* Stats */} +
+
+

15K+

+

Active Members

+
+
+

500+

+

Daily Discussions

+
+
+

50+

+

Weekly Events

+
+
+
+
+ + +
+ ); +} -- 2.49.1 From 05bd3444064090136015017c9f38987a93ac8b2d Mon Sep 17 00:00:00 2001 From: bender Date: Mon, 2 Mar 2026 21:33:35 +0000 Subject: [PATCH 2/7] Add src/app/courses/page.tsx --- src/app/courses/page.tsx | 128 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100644 src/app/courses/page.tsx diff --git a/src/app/courses/page.tsx b/src/app/courses/page.tsx new file mode 100644 index 0000000..39185a8 --- /dev/null +++ b/src/app/courses/page.tsx @@ -0,0 +1,128 @@ +"use client"; + +import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; +import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered'; +import ProductCardOne from '@/components/sections/product/ProductCardOne'; +import FooterMedia from '@/components/sections/footer/FooterMedia'; +import { BookOpen } from 'lucide-react'; + +export default function CoursesPage() { + return ( + + + +
+
+

All Courses

+

+ Explore our complete library of financial education courses +

+
+
+ +
+ +
+ + +
+ ); +} -- 2.49.1 From dfa2fb49d924ac459dcef9b0b583dd3bb44e63be Mon Sep 17 00:00:00 2001 From: bender Date: Mon, 2 Mar 2026 21:33:35 +0000 Subject: [PATCH 3/7] Add src/app/dashboard/page.tsx --- src/app/dashboard/page.tsx | 155 +++++++++++++++++++++++++++++++++++++ 1 file changed, 155 insertions(+) create mode 100644 src/app/dashboard/page.tsx diff --git a/src/app/dashboard/page.tsx b/src/app/dashboard/page.tsx new file mode 100644 index 0000000..57de005 --- /dev/null +++ b/src/app/dashboard/page.tsx @@ -0,0 +1,155 @@ +"use client"; + +import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; +import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered'; +import FooterMedia from '@/components/sections/footer/FooterMedia'; +import { BarChart3, Trophy, TrendingUp, Clock } from 'lucide-react'; + +export default function DashboardPage() { + const stats = [ + { icon: Clock, label: "Hours Learned", value: "24.5", color: "text-blue-500" }, + { icon: Trophy, label: "Badges Earned", value: "12", color: "text-yellow-500" }, + { icon: TrendingUp, label: "Courses Completed", value: "3", color: "text-green-500" }, + { icon: BarChart3, label: "Current Streak", value: "7 days", color: "text-purple-500" }, + ]; + + const recentCourses = [ + { title: "Beginner's Guide to Stocks", progress: 75, status: "In Progress" }, + { title: "Personal Budgeting", progress: 100, status: "Completed" }, + { title: "Crypto 101 Course", progress: 45, status: "In Progress" }, + ]; + + return ( + + + +
+
+ {/* Header */} +
+

Welcome Back, Learner!

+

Here's your learning progress and achievements

+
+ + {/* Stats Grid */} +
+ {stats.map((stat, index) => { + const Icon = stat.icon; + return ( +
+
+ +
+

{stat.label}

+

{stat.value}

+
+ ); + })} +
+ + {/* Recent Courses */} +
+

Your Learning Progress

+
+ {recentCourses.map((course, index) => ( +
+
+

{course.title}

+ + {course.status} + +
+
+
+
+

{course.progress}% Complete

+
+ ))} +
+
+ + {/* Call to Action */} +
+

Continue Your Learning Journey

+

+ You're making great progress! Check out new courses to expand your financial knowledge. +

+ + Browse More Courses + +
+
+
+ + + + ); +} -- 2.49.1 From 5ec3397a99357810d53dd82ced35c9eef3500483 Mon Sep 17 00:00:00 2001 From: bender Date: Mon, 2 Mar 2026 21:33:36 +0000 Subject: [PATCH 4/7] Update src/app/layout.tsx --- src/app/layout.tsx | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/app/layout.tsx b/src/app/layout.tsx index c630338..8dbd887 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -22,25 +22,28 @@ const manrope = Manrope({ export const metadata: Metadata = { title: "FinHub - Learn Finance Through Playful, Gamified Lessons", description: "Master stocks, crypto, budgeting & investing with FinHub's interactive, Duolingo-style fintech learning platform. Free courses, gamified lessons, and supportive community.", keywords: "fintech learning, financial education, investing course, cryptocurrency learning, budgeting app, stock market education, gamified learning", metadataBase: new URL("https://finhub.com"), alternates: { - canonical: "https://finhub.com"}, + canonical: "https://finhub.com" + }, openGraph: { title: "FinHub - Learn Finance the Playful Way", description: "Interactive fintech education with gamified lessons on stocks, crypto, and personal finance. Join thousands of learners today.", url: "https://finhub.com", siteName: "FinHub", type: "website", images: [ { - url: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APDZNAPblxpNYRuXTIE4hmL6HY/a-vibrant-playful-illustration-of-a-pers-1772485585732-ed859da8.png", alt: "FinHub Learning Platform"}, - ], + url: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APDZNAPblxpNYRuXTIE4hmL6HY/a-vibrant-playful-illustration-of-a-pers-1772485585732-ed859da8.png", alt: "FinHub Learning Platform" + } + ] }, twitter: { card: "summary_large_image", title: "FinHub - Learn Finance Through Play", description: "Free interactive fintech courses with gamified lessons on stocks, crypto, and investing.", images: [ - "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APDZNAPblxpNYRuXTIE4hmL6HY/a-vibrant-playful-illustration-of-a-pers-1772485585732-ed859da8.png"], + "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APDZNAPblxpNYRuXTIE4hmL6HY/a-vibrant-playful-illustration-of-a-pers-1772485585732-ed859da8.png" + ] }, robots: { index: true, - follow: true, - }, + follow: true + } }; export default function RootLayout({ - children, + children }: Readonly<{ children: React.ReactNode; }>) { -- 2.49.1 From 2d7e4c90358d6c0d390b096b4283cc6d8461453e Mon Sep 17 00:00:00 2001 From: bender Date: Mon, 2 Mar 2026 21:33:36 +0000 Subject: [PATCH 5/7] Add src/app/login/page.tsx --- src/app/login/page.tsx | 153 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 153 insertions(+) create mode 100644 src/app/login/page.tsx diff --git a/src/app/login/page.tsx b/src/app/login/page.tsx new file mode 100644 index 0000000..ff9676e --- /dev/null +++ b/src/app/login/page.tsx @@ -0,0 +1,153 @@ +"use client"; + +import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; +import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered'; +import ContactCenter from '@/components/sections/contact/ContactCenter'; +import FooterMedia from '@/components/sections/footer/FooterMedia'; +import { LogIn } from 'lucide-react'; +import { useState } from 'react'; + +export default function LoginPage() { + const [email, setEmail] = useState(''); + const [password, setPassword] = useState(''); + const [loading, setLoading] = useState(false); + + const handleLogin = async (e: React.FormEvent) => { + e.preventDefault(); + setLoading(true); + // Add login logic here + setTimeout(() => setLoading(false), 1000); + }; + + return ( + + + +
+
+
+
+ +

Welcome Back

+
+ +
+
+ + setEmail(e.target.value)} + className="w-full px-4 py-2 border border-accent rounded-lg bg-background text-foreground placeholder-gray-500 focus:outline-none focus:ring-2 focus:ring-primary-cta" + placeholder="your@email.com" + required + /> +
+ +
+ + setPassword(e.target.value)} + className="w-full px-4 py-2 border border-accent rounded-lg bg-background text-foreground placeholder-gray-500 focus:outline-none focus:ring-2 focus:ring-primary-cta" + placeholder="••••••••" + required + /> +
+ + +
+ +
+

+ Don't have an account?{' '} + + Sign up here + +

+
+ + +
+
+
+ + +
+ ); +} -- 2.49.1 From 36e4ab41558f1b3f34f97db1444e14ae6220cc74 Mon Sep 17 00:00:00 2001 From: bender Date: Mon, 2 Mar 2026 21:33:37 +0000 Subject: [PATCH 6/7] Update src/app/page.tsx --- src/app/page.tsx | 73 +++++++++++++++++++++++++++++++----------------- 1 file changed, 47 insertions(+), 26 deletions(-) diff --git a/src/app/page.tsx b/src/app/page.tsx index 33688b3..e80b198 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -32,10 +32,11 @@ export default function LandingPage() { { name: "Courses", id: "learning" }, { name: "Community", id: "testimonials" }, { name: "FAQ", id: "faq" }, - { name: "Blog", id: "blog" }, + { name: "Login", id: "/login" }, ]} button={{ - text: "Start Learning", href: "contact"}} + text: "Start Learning", href: "contact" + }} brandName="FinHub" />
@@ -49,7 +50,7 @@ export default function LandingPage() { tagAnimation="slide-up" background={{ variant: "sparkles-gradient" }} buttons={[ - { text: "Start Free Lesson", href: "contact" }, + { text: "Start Free Lesson", href: "/signup" }, { text: "View Courses", href: "learning" }, ]} buttonAnimation="slide-up" @@ -69,13 +70,17 @@ export default function LandingPage() { tagAnimation="slide-up" accordionItems={[ { - id: "1", title: "Stock Market Mastery", content: "Understand how stocks work, learn technical analysis, and discover investment strategies through gamified scenarios and real-time market simulations."}, + id: "1", title: "Stock Market Mastery", content: "Understand how stocks work, learn technical analysis, and discover investment strategies through gamified scenarios and real-time market simulations." + }, { - id: "2", title: "Crypto & Blockchain", content: "Demystify cryptocurrency, explore blockchain technology, and learn how to evaluate digital assets with our interactive crypto challenges."}, + id: "2", title: "Crypto & Blockchain", content: "Demystify cryptocurrency, explore blockchain technology, and learn how to evaluate digital assets with our interactive crypto challenges." + }, { - id: "3", title: "Personal Budgeting", content: "Master budgeting techniques, track spending habits, and build healthy financial routines with our intuitive budget planning tools."}, + id: "3", title: "Personal Budgeting", content: "Master budgeting techniques, track spending habits, and build healthy financial routines with our intuitive budget planning tools." + }, { - id: "4", title: "Investment Strategies", content: "Learn diversification, portfolio management, and risk assessment through case studies and virtual investment competitions."}, + id: "4", title: "Investment Strategies", content: "Learn diversification, portfolio management, and risk assessment through case studies and virtual investment competitions." + } ]} imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APDZNAPblxpNYRuXTIE4hmL6HY/colorful-illustration-of-stock-market-ch-1772485586013-5ec22a53.png?_wi=1" imageAlt="Stock market learning illustration" @@ -98,13 +103,17 @@ export default function LandingPage() { tagAnimation="slide-up" products={[ { - id: "1", name: "Beginner's Guide to Stocks", price: "Free", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APDZNAPblxpNYRuXTIE4hmL6HY/colorful-illustration-of-stock-market-ch-1772485586013-5ec22a53.png?_wi=2", imageAlt: "Beginner stock market course"}, + id: "1", name: "Beginner's Guide to Stocks", price: "Free", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APDZNAPblxpNYRuXTIE4hmL6HY/colorful-illustration-of-stock-market-ch-1772485586013-5ec22a53.png?_wi=2", imageAlt: "Beginner stock market course" + }, { - id: "2", name: "Crypto 101 Course", price: "Free", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APDZNAPblxpNYRuXTIE4hmL6HY/modern-illustration-of-cryptocurrency-an-1772485586614-526c5195.png", imageAlt: "Cryptocurrency fundamentals"}, + id: "2", name: "Crypto 101 Course", price: "Free", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APDZNAPblxpNYRuXTIE4hmL6HY/modern-illustration-of-cryptocurrency-an-1772485586614-526c5195.png", imageAlt: "Cryptocurrency fundamentals" + }, { - id: "3", name: "Advanced Portfolio Management", price: "Free", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APDZNAPblxpNYRuXTIE4hmL6HY/friendly-illustration-showing-budgeting--1772485586201-261e93c5.png", imageAlt: "Portfolio management strategies"}, + id: "3", name: "Advanced Portfolio Management", price: "Free", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APDZNAPblxpNYRuXTIE4hmL6HY/friendly-illustration-showing-budgeting--1772485586201-261e93c5.png", imageAlt: "Portfolio management strategies" + }, { - id: "4", name: "Financial Independence Path", price: "Free", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APDZNAPblxpNYRuXTIE4hmL6HY/colorful-illustration-of-stock-market-ch-1772485586013-5ec22a53.png?_wi=3", imageAlt: "Path to financial independence"}, + id: "4", name: "Financial Independence Path", price: "Free", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APDZNAPblxpNYRuXTIE4hmL6HY/colorful-illustration-of-stock-market-ch-1772485586013-5ec22a53.png?_wi=3", imageAlt: "Path to financial independence" + } ]} textboxLayout="default" gridVariant="four-items-2x2-equal-grid" @@ -124,22 +133,28 @@ export default function LandingPage() { testimonials={[ { id: "1", name: "Alex Johnson", handle: "@alexjohn", testimonial: "FinHub made learning about stocks so fun! The gamified lessons kept me engaged, and I actually understand the stock market now.", rating: 5, - imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APDZNAPblxpNYRuXTIE4hmL6HY/portrait-photo-of-a-happy-young-adult-pr-1772485585642-16f79072.png?_wi=1", imageAlt: "Alex Johnson"}, + imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APDZNAPblxpNYRuXTIE4hmL6HY/portrait-photo-of-a-happy-young-adult-pr-1772485585642-16f79072.png?_wi=1", imageAlt: "Alex Johnson" + }, { id: "2", name: "Sarah Chen", handle: "@sarahfinance", testimonial: "The interactive crypto course broke down complex blockchain concepts into easy-to-understand lessons. Highly recommend!", rating: 5, - imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APDZNAPblxpNYRuXTIE4hmL6HY/portrait-photo-of-a-confident-woman-smil-1772485585769-a7ac5a64.png?_wi=1", imageAlt: "Sarah Chen"}, + imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APDZNAPblxpNYRuXTIE4hmL6HY/portrait-photo-of-a-confident-woman-smil-1772485585769-a7ac5a64.png?_wi=1", imageAlt: "Sarah Chen" + }, { id: "3", name: "Marcus Williams", handle: "@marcusw", testimonial: "I went from complete beginner to confidently managing my portfolio thanks to FinHub's structured learning paths.", rating: 5, - imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APDZNAPblxpNYRuXTIE4hmL6HY/portrait-photo-of-a-friendly-man-with-a--1772485585558-9539445f.png", imageAlt: "Marcus Williams"}, + imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APDZNAPblxpNYRuXTIE4hmL6HY/portrait-photo-of-a-friendly-man-with-a--1772485585558-9539445f.png", imageAlt: "Marcus Williams" + }, { id: "4", name: "Emma Rodriguez", handle: "@emmafintech", testimonial: "Finally, a platform that makes financial education fun and accessible! The community aspect is incredible.", rating: 5, - imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APDZNAPblxpNYRuXTIE4hmL6HY/portrait-photo-of-a-young-professional-w-1772485585796-0cb638e6.png", imageAlt: "Emma Rodriguez"}, + imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APDZNAPblxpNYRuXTIE4hmL6HY/portrait-photo-of-a-young-professional-w-1772485585796-0cb638e6.png", imageAlt: "Emma Rodriguez" + }, { id: "5", name: "James Park", handle: "@jamespark", testimonial: "The budgeting tools combined with lessons helped me save 30% more each month. Game changer!", rating: 5, - imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APDZNAPblxpNYRuXTIE4hmL6HY/portrait-photo-of-a-happy-young-adult-pr-1772485585642-16f79072.png?_wi=2", imageAlt: "James Park"}, + imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APDZNAPblxpNYRuXTIE4hmL6HY/portrait-photo-of-a-happy-young-adult-pr-1772485585642-16f79072.png?_wi=2", imageAlt: "James Park" + }, { id: "6", name: "Lisa Thompson", handle: "@lisafinance", testimonial: "Best fintech learning platform I've found. The lessons are bite-sized and perfect for busy professionals.", rating: 5, - imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APDZNAPblxpNYRuXTIE4hmL6HY/portrait-photo-of-a-confident-woman-smil-1772485585769-a7ac5a64.png?_wi=2", imageAlt: "Lisa Thompson"}, + imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3APDZNAPblxpNYRuXTIE4hmL6HY/portrait-photo-of-a-confident-woman-smil-1772485585769-a7ac5a64.png?_wi=2", imageAlt: "Lisa Thompson" + } ]} showRating={true} textboxLayout="default" @@ -154,17 +169,23 @@ export default function LandingPage() { sideDescription="Everything you need to know to get started with your financial learning journey" faqs={[ { - id: "1", title: "Is FinHub really free?", content: "Yes! All core courses and lessons are completely free. We believe financial education should be accessible to everyone."}, + id: "1", title: "Is FinHub really free?", content: "Yes! All core courses and lessons are completely free. We believe financial education should be accessible to everyone." + }, { - id: "2", title: "What topics does FinHub cover?", content: "We cover stocks, cryptocurrencies, personal budgeting, investment strategies, financial planning, and more. New topics are added regularly."}, + id: "2", title: "What topics does FinHub cover?", content: "We cover stocks, cryptocurrencies, personal budgeting, investment strategies, financial planning, and more. New topics are added regularly." + }, { - id: "3", title: "Can I learn at my own pace?", content: "Absolutely! All lessons are self-paced. You can take weeks or months to complete a course, and your progress is saved automatically."}, + id: "3", title: "Can I learn at my own pace?", content: "Absolutely! All lessons are self-paced. You can take weeks or months to complete a course, and your progress is saved automatically." + }, { - id: "4", title: "Do I need prior financial knowledge?", content: "No! Our courses are designed for complete beginners. We start with fundamentals and progressively build more complex concepts."}, + id: "4", title: "Do I need prior financial knowledge?", content: "No! Our courses are designed for complete beginners. We start with fundamentals and progressively build more complex concepts." + }, { - id: "5", title: "How is the content gamified?", content: "Earn points and badges as you complete lessons, compete on leaderboards with friends, and unlock special achievements to stay motivated."}, + id: "5", title: "How is the content gamified?", content: "Earn points and badges as you complete lessons, compete on leaderboards with friends, and unlock special achievements to stay motivated." + }, { - id: "6", title: "Can I track my learning progress?", content: "Yes! Your dashboard shows detailed progress metrics, learning streaks, badges earned, and personalized recommendations for your next lessons."}, + id: "6", title: "Can I track my learning progress?", content: "Yes! Your dashboard shows detailed progress metrics, learning streaks, badges earned, and personalized recommendations for your next lessons." + } ]} textPosition="left" useInvertedBackground={true} @@ -197,8 +218,8 @@ export default function LandingPage() { columns={[ { title: "Learning", items: [ - { label: "Courses", href: "#learning" }, - { label: "Lessons", href: "#features" }, + { label: "Courses", href: "learning" }, + { label: "Lessons", href: "features" }, { label: "Challenges", href: "#" }, { label: "Resources", href: "#" }, ], @@ -215,7 +236,7 @@ export default function LandingPage() { title: "Company", items: [ { label: "About Us", href: "#" }, { label: "Blog", href: "#" }, - { label: "Contact", href: "#contact" }, + { label: "Contact", href: "contact" }, { label: "Privacy Policy", href: "#" }, ], }, -- 2.49.1 From 2c4d298eb10e97159e75bd65726730ca2082689c Mon Sep 17 00:00:00 2001 From: bender Date: Mon, 2 Mar 2026 21:33:37 +0000 Subject: [PATCH 7/7] Add src/app/signup/page.tsx --- src/app/signup/page.tsx | 196 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 196 insertions(+) create mode 100644 src/app/signup/page.tsx diff --git a/src/app/signup/page.tsx b/src/app/signup/page.tsx new file mode 100644 index 0000000..6ca2acf --- /dev/null +++ b/src/app/signup/page.tsx @@ -0,0 +1,196 @@ +"use client"; + +import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; +import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered'; +import FooterMedia from '@/components/sections/footer/FooterMedia'; +import { UserPlus } from 'lucide-react'; +import { useState } from 'react'; + +export default function SignupPage() { + const [email, setEmail] = useState(''); + const [password, setPassword] = useState(''); + const [confirmPassword, setConfirmPassword] = useState(''); + const [fullName, setFullName] = useState(''); + const [loading, setLoading] = useState(false); + const [error, setError] = useState(''); + + const handleSignup = async (e: React.FormEvent) => { + e.preventDefault(); + setError(''); + + if (password !== confirmPassword) { + setError('Passwords do not match'); + return; + } + + setLoading(true); + // Add signup logic here + setTimeout(() => setLoading(false), 1000); + }; + + return ( + + + +
+
+
+
+ +

Get Started

+
+ + {error && ( +
+ {error} +
+ )} + +
+
+ + setFullName(e.target.value)} + className="w-full px-4 py-2 border border-accent rounded-lg bg-background text-foreground placeholder-gray-500 focus:outline-none focus:ring-2 focus:ring-primary-cta" + placeholder="John Doe" + required + /> +
+ +
+ + setEmail(e.target.value)} + className="w-full px-4 py-2 border border-accent rounded-lg bg-background text-foreground placeholder-gray-500 focus:outline-none focus:ring-2 focus:ring-primary-cta" + placeholder="your@email.com" + required + /> +
+ +
+ + setPassword(e.target.value)} + className="w-full px-4 py-2 border border-accent rounded-lg bg-background text-foreground placeholder-gray-500 focus:outline-none focus:ring-2 focus:ring-primary-cta" + placeholder="••••••••" + required + /> +
+ +
+ + setConfirmPassword(e.target.value)} + className="w-full px-4 py-2 border border-accent rounded-lg bg-background text-foreground placeholder-gray-500 focus:outline-none focus:ring-2 focus:ring-primary-cta" + placeholder="••••••••" + required + /> +
+ + +
+ +
+

+ Already have an account?{' '} + + Log in here + +

+
+ +
+

By signing up, you agree to our Terms and Privacy Policy

+
+
+
+
+ + +
+ ); +} -- 2.49.1