diff --git a/public/heroImg.png b/public/heroImg.png new file mode 100644 index 0000000..6664e0a Binary files /dev/null and b/public/heroImg.png differ diff --git a/src/components/landing/HeroSection.tsx b/src/components/landing/HeroSection.tsx index f596957..8995dfd 100644 --- a/src/components/landing/HeroSection.tsx +++ b/src/components/landing/HeroSection.tsx @@ -1,66 +1,69 @@ import { motion } from "framer-motion" +import HeroImage from "../../../public/heroImg.png" export function HeroSection() { return ( -
+
{/* Overlay */}
-
- {/* Left Text Content */} - - {/* Badge */} +
+
+ {/* Left Text Content - 40% */} - - Affiliate Program - + {/* Badge */} + + + Affiliate Program + + + + {/* Headline - Smaller font sizes */} +

+ Earn 50% Commissions for Every Referral +

+ + {/* Description - Smaller text */} +

+ Turn your influence into income. Join Planpost AI's affiliate program and earn recurring rewards — every month, + automatically. +

+ + {/* CTA Button */} + + Start Earning +
- {/* Headline */} -

- Earn 50% Commissions for Every Referral -

- - {/* Description */} -

- Turn your influence into income. Join Planpost AI’s affiliate program and earn recurring rewards — every month, - automatically. -

- - {/* Single CTA Button */} - - Start Earning - - - - {/* Right Side Image */} - - Affiliate Program Illustration - + Hero + +
) -} +} \ No newline at end of file diff --git a/src/components/landing/Navigation.tsx b/src/components/landing/Navigation.tsx index 1481bc2..ddf2ca6 100644 --- a/src/components/landing/Navigation.tsx +++ b/src/components/landing/Navigation.tsx @@ -1,51 +1,117 @@ -import { useEffect, useState } from "react" +import { useState, useEffect, useRef } from "react" import { Link } from "react-router-dom" - +import { Menu, X } from "lucide-react" +import BrandLogo from "../../../public/planpost.png" export function Navigation() { const [scrolled, setScrolled] = useState(false) + const [menuOpen, setMenuOpen] = useState(false) + const menuRef = useRef(null) useEffect(() => { - const handleScroll = () => { - if (window.scrollY > 30) { - setScrolled(true) - } else { - setScrolled(false) - } - } + const handleScroll = () => setScrolled(window.scrollY > 30) window.addEventListener("scroll", handleScroll) return () => window.removeEventListener("scroll", handleScroll) }, []) + useEffect(() => { + const handleClickOutside = (event: MouseEvent) => { + if (menuRef.current && !menuRef.current.contains(event.target as Node)) { + setMenuOpen(false) + } + } + if (menuOpen) document.addEventListener("mousedown", handleClickOutside) + else document.removeEventListener("mousedown", handleClickOutside) + return () => document.removeEventListener("mousedown", handleClickOutside) + }, [menuOpen]) + return (