diff --git a/app/about/page.tsx b/app/about/page.tsx index 0c9935c..c5ee0a0 100644 --- a/app/about/page.tsx +++ b/app/about/page.tsx @@ -4,12 +4,12 @@ export default function AboutPage() { return (
{/* Hero Section */} -
+
-

- About Parampara +

+ About Parampara

-

+

A living bridge between tradition and technology — enabling culture to thrive across borders, while creating real economic opportunity for Indian women. @@ -20,10 +20,10 @@ export default function AboutPage() { {/* Problem Section */}

-

+

The Problem We're Solving

-

+

Millions of Indians abroad are losing touch with their roots. At the same time, skilled women in India lack platforms to reach a global audience. @@ -50,13 +50,13 @@ export default function AboutPage() { ].map((item) => (

{item.icon}
-

+

{item.title}

-

+

{item.desc}

@@ -65,12 +65,12 @@ export default function AboutPage() {
{/* Solution Section */} -
+
-

+

Our Solution

-

+

Parampara is a digital marketplace that connects verified women instructors from India with global learners seeking real cultural experiences. @@ -102,14 +102,14 @@ export default function AboutPage() { ].map((item) => (

{item.icon}
-

+

{item.title}

-

+

{item.desc}

@@ -121,10 +121,10 @@ export default function AboutPage() { {/* Impact Vision Section */}
-

+

🌱 Our Impact Vision

-

+

We measure success not just in users, but in lives changed and cultures preserved.

@@ -150,11 +150,11 @@ export default function AboutPage() { ].map((item) => (
{item.stat}
-

{item.label}

-

+

{item.label}

+

{item.desc}

@@ -162,25 +162,25 @@ export default function AboutPage() {
{/* Vision Quote */} -
+

"Parampara is not just a platform — it's a living bridge between tradition and technology, enabling culture to thrive across borders."

- + — Parampara Vision Statement
{/* Join Our Community Section */} -
+
-

+

🌟 Join the Parampara Community

-

+

Whether you're looking to reconnect with your roots or share your cultural expertise, Parampara welcomes you to our growing community of learners and instructors. @@ -188,37 +188,37 @@ export default function AboutPage() {

-
+
🎓
-

+

For Learners

-

+

Discover authentic Indian culture through live sessions with verified women instructors. Learn language, cooking, dance, and traditions from the comfort of your home.

Find Instructors
-
+
👩‍🏫
-

+

For Instructors

-

+

Share your cultural knowledge and skills with a global audience. Earn flexible income while preserving and teaching traditional Indian arts and wisdom.

Become an Instructor @@ -226,12 +226,12 @@ export default function AboutPage() {
-

+

Ready to start your cultural journey?

Explore Classes → @@ -239,4 +239,4 @@ export default function AboutPage() {
); -} +} \ No newline at end of file diff --git a/app/globals.css b/app/globals.css index 98bec1e..2f63ed0 100644 --- a/app/globals.css +++ b/app/globals.css @@ -2,9 +2,15 @@ @tailwind components; @tailwind utilities; -:root { - color-scheme: light; - font-family: 'Inter', sans-serif; +@layer base { + :root { + color-scheme: light; + font-family: 'Inter', sans-serif; + } + + .dark { + color-scheme: dark; + } } html { @@ -14,8 +20,6 @@ html { body { margin: 0; min-height: 100vh; - background: linear-gradient(180deg, #ffffff 0%, #f8f5ff 100%); - color: #111827; } * { @@ -32,4 +36,4 @@ input, select, textarea { font: inherit; -} +} \ No newline at end of file diff --git a/app/instructor/[id]/page.tsx b/app/instructor/[id]/page.tsx index 35fd397..5d3f364 100644 --- a/app/instructor/[id]/page.tsx +++ b/app/instructor/[id]/page.tsx @@ -8,7 +8,7 @@ type PageProps = { export default function InstructorProfilePage({ params }: PageProps) { const instructor = instructors.find((item) => item.id === params.id); - const backButtonClasses = "inline-flex items-center gap-2 rounded-full border border-slate-200 bg-white px-5 py-2.5 text-sm font-medium text-slate-600 shadow-sm transition-all hover:bg-slate-50 hover:text-violet-700 hover:border-violet-200"; + const backButtonClasses = "inline-flex items-center gap-2 rounded-full border border-slate-200 dark:border-slate-700 bg-white dark:bg-slate-900 px-5 py-2.5 text-sm font-medium text-slate-600 dark:text-slate-300 shadow-sm transition-all duration-300 hover:bg-slate-50 dark:hover:bg-slate-800 hover:text-violet-700 dark:hover:text-violet-400 hover:border-violet-200 dark:hover:border-violet-500"; if (!instructor) { return ( @@ -16,7 +16,7 @@ export default function InstructorProfilePage({ params }: PageProps) { Back to Instructors -

Instructor not found.

+

Instructor not found.

); } @@ -29,14 +29,14 @@ export default function InstructorProfilePage({ params }: PageProps) { -
+
-

{instructor.location}

-

{instructor.name}

-

{instructor.expertise}

+

{instructor.location}

+

{instructor.name}

+

{instructor.expertise}

-
+
${instructor.ratePerHour} / hour
@@ -44,15 +44,15 @@ export default function InstructorProfilePage({ params }: PageProps) {
-

About this mentor

-

{instructor.description}

+

About this mentor

+

{instructor.description}

-

What you will learn

-
    +

    What you will learn

    +
      {instructor.specialties.map((specialty) => ( -
    • +
    • {specialty}
    • ))} @@ -60,16 +60,16 @@ export default function InstructorProfilePage({ params }: PageProps) {
-
-
-
+
+
-

Ready to begin?

-

Browse instructors, choose a time, and start a learning journey rooted in authentic Indian heritage.

+

Ready to begin?

+

Browse instructors, choose a time, and start a learning journey rooted in authentic Indian heritage.

- Explore instructors + + Explore instructors +
); -} +} \ No newline at end of file diff --git a/components/InstructorCard.tsx b/components/InstructorCard.tsx index ec6a5ee..5b2978d 100644 --- a/components/InstructorCard.tsx +++ b/components/InstructorCard.tsx @@ -3,30 +3,39 @@ import type { Instructor } from '@/lib/data'; export function InstructorCard({ instructor }: { instructor: Instructor }) { return ( -
+
+
-

{instructor.location}

-

{instructor.name}

+

{instructor.location}

+

{instructor.name}

- + ${instructor.ratePerHour}/hr
-

{instructor.description}

-
+ +

{instructor.description}

+ +
{instructor.specialties.map((tag) => ( - + {tag} ))}
-
-

{instructor.languages.join(' • ')}

- + +
+

{instructor.languages.join(' • ')}

+ + View profile
+
); -} +} \ No newline at end of file diff --git a/components/Navbar.tsx b/components/Navbar.tsx index 949b0cd..bb83351 100644 --- a/components/Navbar.tsx +++ b/components/Navbar.tsx @@ -2,7 +2,8 @@ import Link from "next/link"; import { usePathname } from "next/navigation"; -import { useState } from "react"; +import { useState, useEffect } from "react"; +import { useTheme } from "next-themes"; const navLinks = [ { href: "/", label: "Home" }, @@ -13,9 +14,16 @@ const navLinks = [ export default function Navbar() { const pathname = usePathname(); const [menuOpen, setMenuOpen] = useState(false); + const { theme, setTheme } = useTheme(); + const [mounted, setMounted] = useState(false); + + // useEffect ensures the theme logic only runs on the client to avoid hydration mismatch + useEffect(() => { + setMounted(true); + }, []); return ( -