From 5f8cf705bf4c2d3c02deafee8d5f229d799b568b Mon Sep 17 00:00:00 2001 From: bender Date: Tue, 10 Mar 2026 15:09:43 +0000 Subject: [PATCH 1/5] Update src/app/classes/page.tsx --- src/app/classes/page.tsx | 199 +++++++++++++++++++++++++++------------ 1 file changed, 140 insertions(+), 59 deletions(-) diff --git a/src/app/classes/page.tsx b/src/app/classes/page.tsx index 550fb6c..7415796 100644 --- a/src/app/classes/page.tsx +++ b/src/app/classes/page.tsx @@ -1,35 +1,40 @@ "use client"; -import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; +import Link from "next/link"; import NavbarStyleApple from "@/components/navbar/NavbarStyleApple/NavbarStyleApple"; -import FooterCard from "@/components/sections/footer/FooterCard"; import HeroBillboardScroll from "@/components/sections/hero/HeroBillboardScroll"; import FeatureHoverPattern from "@/components/sections/feature/featureHoverPattern/FeatureHoverPattern"; import TestimonialCardOne from "@/components/sections/testimonial/TestimonialCardOne"; -import Link from "next/link"; +import PricingCardOne from "@/components/sections/pricing/PricingCardOne"; +import TeamCardFive from "@/components/sections/team/TeamCardFive"; +import FaqDouble from "@/components/sections/faq/FaqDouble"; +import FooterCard from "@/components/sections/footer/FooterCard"; +import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import { - Calendar, + Sparkles, + Zap, + Award, + DollarSign, Users, + HelpCircle, + Calendar, Lock, BarChart3, - Zap, Smartphone, - Award, - Sparkles, Twitter, Linkedin, Mail, } from "lucide-react"; -export default function ClassesPage() { - const navItems = [ - { name: "Home", id: "/" }, - { name: "Workshops", id: "/workshops" }, - { name: "Classes", id: "/classes" }, - { name: "Pricing", id: "/pricing" }, - { name: "Contact", id: "/contact" }, - ]; +const navItems = [ + { name: "Home", id: "/" }, + { name: "Workshops", id: "/workshops" }, + { name: "Classes", id: "/classes" }, + { name: "Pricing", id: "/pricing" }, + { name: "Contact", id: "/contact" }, +]; +export default function ClassesPage() { return ( @@ -107,38 +104,122 @@ export default function ClassesPage() {
+
+ +
+ +
+ +
+ +
+ +
+ -- 2.49.1 From ecffe5cbdcc8bacccec3d089c61716a5b5c08202 Mon Sep 17 00:00:00 2001 From: bender Date: Tue, 10 Mar 2026 15:09:45 +0000 Subject: [PATCH 2/5] 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..418a739 --- /dev/null +++ b/src/app/login/page.tsx @@ -0,0 +1,153 @@ +"use client"; + +import Link from "next/link"; +import { useState } from "react"; +import NavbarStyleApple from "@/components/navbar/NavbarStyleApple/NavbarStyleApple"; +import Input from "@/components/form/Input"; +import ButtonExpandHover from "@/components/button/ButtonExpandHover"; +import FooterCard from "@/components/sections/footer/FooterCard"; +import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; +import { Mail, Lock, Twitter, Linkedin } from "lucide-react"; + +const navItems = [ + { name: "Home", id: "/" }, + { name: "Workshops", id: "/workshops" }, + { name: "Classes", id: "/classes" }, + { name: "Pricing", id: "/pricing" }, + { name: "Contact", id: "/contact" }, +]; + +export default function LoginPage() { + const [email, setEmail] = useState(""); + const [password, setPassword] = useState(""); + const [loading, setLoading] = useState(false); + const [error, setError] = useState(""); + + const handleLogin = async (e: React.FormEvent) => { + e.preventDefault(); + setLoading(true); + setError(""); + + try { + // Placeholder for login logic + console.log("Login attempt with:", { email, password }); + // Add your login API call here + } catch (err) { + setError("Login failed. Please try again."); + } finally { + setLoading(false); + } + }; + + return ( + + + +
+
+
+

Welcome Back

+

Sign in to your ClassHub account

+
+ +
+ {error && ( +
+ {error} +
+ )} + +
+ + setEmail(value)} + placeholder="you@example.com" + required + /> +
+ +
+ + setPassword(value)} + placeholder="Enter your password" + required + /> +
+ +
+ + + Forgot password? + +
+ + +
+ +
+

+ Don't have an account?{" "} + + Create one here + +

+
+ +
+

Or continue with

+
+ + +
+
+
+
+ + +
+ ); +} \ No newline at end of file -- 2.49.1 From cc6f245dce0358ac10db2671cf349eb637ac17e3 Mon Sep 17 00:00:00 2001 From: bender Date: Tue, 10 Mar 2026 15:09:46 +0000 Subject: [PATCH 3/5] Update src/app/pricing/page.tsx --- src/app/pricing/page.tsx | 347 ++++++++++++++++++++++----------------- 1 file changed, 200 insertions(+), 147 deletions(-) diff --git a/src/app/pricing/page.tsx b/src/app/pricing/page.tsx index 38a6058..e22d7ba 100644 --- a/src/app/pricing/page.tsx +++ b/src/app/pricing/page.tsx @@ -1,137 +1,41 @@ "use client"; import Link from "next/link"; -import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import NavbarStyleApple from "@/components/navbar/NavbarStyleApple/NavbarStyleApple"; +import HeroBillboardScroll from "@/components/sections/hero/HeroBillboardScroll"; +import FeatureHoverPattern from "@/components/sections/feature/featureHoverPattern/FeatureHoverPattern"; +import TestimonialCardOne from "@/components/sections/testimonial/TestimonialCardOne"; import PricingCardOne from "@/components/sections/pricing/PricingCardOne"; +import TeamCardFive from "@/components/sections/team/TeamCardFive"; import FaqDouble from "@/components/sections/faq/FaqDouble"; import FooterCard from "@/components/sections/footer/FooterCard"; -import { DollarSign, Sparkles, Star, Crown, Users, HelpCircle, Twitter, Linkedin, Mail } from "lucide-react"; +import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; +import { + Sparkles, + Zap, + Award, + DollarSign, + Users, + HelpCircle, + Calendar, + Lock, + BarChart3, + Smartphone, + Twitter, + Linkedin, + Mail, + CheckCircle, +} from "lucide-react"; + +const navItems = [ + { name: "Home", id: "/" }, + { name: "Workshops", id: "/workshops" }, + { name: "Classes", id: "/classes" }, + { name: "Pricing", id: "/pricing" }, + { name: "Contact", id: "/contact" }, +]; export default function PricingPage() { - const pricingPlans = [ - { - id: "1", - badge: "Popular", - badgeIcon: Sparkles, - price: "$9.99/mo", - subtitle: "Perfect for casual learners", - features: [ - "Access to all workshops", - "Book up to 5 classes per month", - "Student community forum", - "Mobile app access", - "Basic progress tracking", - ], - }, - { - id: "2", - badge: "Best Value", - badgeIcon: Star, - price: "$24.99/mo", - subtitle: "Ideal for dedicated students", - features: [ - "Unlimited class bookings", - "Priority instructor support", - "Advanced progress analytics", - "Certificate of completion", - "Video replay access", - "Networking events", - ], - }, - { - id: "3", - badge: "Professional", - badgeIcon: Crown, - price: "$49.99/mo", - subtitle: "For career advancement", - features: [ - "Everything in Pro plan", - "1-on-1 mentorship sessions", - "Custom learning pathways", - "Career placement assistance", - "Exclusive workshops", - "Priority booking access", - ], - }, - { - id: "4", - badge: "Teacher License", - badgeIcon: Users, - price: "$99.99/mo", - subtitle: "Teach and earn", - features: [ - "Create & manage classes", - "Student management tools", - "Booking analytics dashboard", - "Revenue tracking", - "Marketing support", - "24/7 technical support", - ], - }, - ]; - - const faqItems = [ - { - id: "1", - title: "Can I change my plan anytime?", - content: "Yes! You can upgrade or downgrade your plan at any time. Changes take effect at the beginning of your next billing cycle. No cancellation fees or commitments required.", - }, - { - id: "2", - title: "Do you offer annual billing discounts?", - content: "Yes, we offer 20% off when you choose annual billing. This saves you money while supporting continuous learning. Annual plans auto-renew unless cancelled.", - }, - { - id: "3", - title: "What payment methods do you accept?", - content: "We accept all major credit cards (Visa, Mastercard, American Express), PayPal, and bank transfers. All payments are processed securely through industry-standard encryption.", - }, - { - id: "4", - title: "Is there a free trial available?", - content: "Yes! All new users get a 7-day free trial to explore ClassHub. No credit card required to start. After the trial ends, choose a plan that suits your needs.", - }, - { - id: "5", - title: "Can I cancel anytime?", - content: "Absolutely! Cancel your subscription anytime with no penalties. Your access continues until the end of your billing period. You can reactivate your account anytime.", - }, - { - id: "6", - title: "Do teacher plans include student access?", - content: "Yes, teacher plans include full student plan benefits plus teacher dashboard features. Teach your own classes while accessing other instructors' workshops.", - }, - { - id: "7", - title: "What if I'm not satisfied?", - content: "We offer a 30-day money-back guarantee on all plans. If you're not satisfied, contact our support team for a full refund. No questions asked.", - }, - { - id: "8", - title: "Are there discounts for organizations?", - content: "Yes! We offer custom pricing for teams and organizations. Contact our enterprise sales team at enterprise@classhub.com for volume discounts and dedicated support.", - }, - ]; - - const socialLinks = [ - { - icon: Twitter, - href: "https://twitter.com/classhub", - ariaLabel: "Follow ClassHub on Twitter", - }, - { - icon: Linkedin, - href: "https://linkedin.com/company/classhub", - ariaLabel: "Follow ClassHub on LinkedIn", - }, - { - icon: Mail, - href: "mailto:hello@classhub.com", - ariaLabel: "Email ClassHub", - }, - ]; - return ( + +
+
-
- +
-
+
+ +
+ +
+ +
+ +
+ +
+ +
- -
+
-
+
-
+
+ +
+ +
+
+ +
+ +
+ +
+