"use client"
import { useState } from "react"
// next
import Link from "next/link"
import { usePathname } from "next/navigation"
// third-party
import { motion, AnimatePresence } from "framer-motion"
// project-imports
import Logo from "@/images/landings/LightLogo"
// assets
import { Shield, Menu, X } from "lucide-react"
export default function Navbar10() {
const [mobileMenuOpen, setMobileMenuOpen] = useState(false)
const pathname = usePathname()
const links = [
{ label: "Home", href: "#" },
{ label: "About", href: "#" },
{ label: "Features", href: "#" },
{ label: "Testimonial", href: "#" },
{ label: "Contact", href: "#" },
]
const isActive = (href: string) => {
if (href === "/") {
return pathname === "/"
}
return pathname.startsWith(href)
}
return (
<>
<div className="fixed inset-x-0 top-0 z-50">
<header className="z-50 container mx-auto w-full px-4 py-4 lg:px-0">
<motion.div
initial={{ opacity: 0, y: -20 }}
animate={{ opacity: 1, y: 0 }}
transition={{ duration: 0.5 }}
className="flex h-16 items-center justify-between rounded-full border border-teal-100/50 bg-[#fcfefd]/70 px-6 shadow-md backdrop-blur-xl"
>
{/* Logo */}
<Link href="####" className="group flex items-center gap-2">
<Logo />
</Link>
{/* Desktop Navigation Links */}
<nav className="hidden items-center gap-8 text-sm font-semibold text-slate-600 lg:flex">
{links.map((link) => (
<Link
key={link.label}
href={link.href}
className={`group relative py-1 transition-colors hover:text-teal-900 ${
isActive(link.href) ? "font-bold text-teal-900" : ""
}`}
>
{link.label}
<span
className={`absolute inset-x-0 bottom-0 h-[2px] scale-x-0 bg-teal-600 transition-all duration-300 ${
isActive(link.href)
? "scale-x-100"
: "scale-x-0 group-hover:scale-x-100"
}`}
/>
</Link>
))}
</nav>
{/* Action Buttons */}
<div className="hidden items-center gap-4 lg:flex">
<Link
href="#"
className="text-sm font-semibold text-slate-600 transition-colors hover:text-teal-950"
>
Sign in
</Link>
<Link
href="#"
className="inline-flex h-10 shrink-0 items-center justify-center rounded-full bg-teal-700 px-6 text-sm font-semibold text-white shadow-lg shadow-teal-700/10 transition-all duration-200 hover:bg-teal-800"
>
Get Started
</Link>
</div>
{/* Mobile Menu Open Trigger */}
<button
onClick={() => setMobileMenuOpen(true)}
className="flex h-10 w-10 items-center justify-center rounded-full border border-slate-200 bg-white shadow-sm transition hover:bg-slate-50 lg:hidden"
aria-label="Open mobile menu"
>
<Menu className="h-5 w-5 text-slate-700" />
</button>
</motion.div>
</header>
</div>
{/* Mobile Navigation Drawer */}
<AnimatePresence>
{mobileMenuOpen && (
<>
<motion.div
initial={{ opacity: 0 }}
animate={{ opacity: 1 }}
exit={{ opacity: 0 }}
onClick={() => setMobileMenuOpen(false)}
className="fixed inset-0 z-50 bg-black/30 backdrop-blur-sm lg:hidden"
/>
<motion.div
initial={{ x: "100%" }}
animate={{ x: 0 }}
exit={{ x: "100%" }}
transition={{ type: "spring", damping: 25, stiffness: 200 }}
className="fixed top-0 right-0 z-50 h-full w-4/5 max-w-sm bg-white p-6 shadow-2xl lg:hidden"
>
<div className="mb-8 flex items-center justify-between">
<Link
href="/"
onClick={() => setMobileMenuOpen(false)}
className="flex items-center gap-2"
>
<div className="flex h-8 w-8 items-center justify-center rounded-full bg-teal-600 text-white">
<Shield className="h-4 w-4" />
</div>
<span className="text-lg font-bold text-teal-950">
Housiq
</span>
</Link>
<button
onClick={() => setMobileMenuOpen(false)}
className="flex h-8 w-8 items-center justify-center rounded-full border border-slate-100 text-slate-500 hover:bg-slate-100"
aria-label="Close menu"
>
<X className="h-4 w-4" />
</button>
</div>
<nav className="mb-8 flex flex-col gap-5 text-lg font-semibold text-slate-700">
{links.map((link) => (
<Link
key={link.label}
href={link.href}
onClick={() => setMobileMenuOpen(false)}
className={`py-1 transition-colors hover:text-teal-950 ${
isActive(link.href) ? "font-bold text-teal-950" : ""
}`}
>
{link.label}
</Link>
))}
</nav>
<div className="flex flex-col gap-4 border-t border-slate-100 pt-6">
<Link
href="/sign-in"
onClick={() => setMobileMenuOpen(false)}
className="py-2 text-center font-semibold text-slate-600 hover:text-teal-950"
>
Sign in
</Link>
<Link
href="/sign-in"
onClick={() => setMobileMenuOpen(false)}
className="inline-flex items-center justify-center rounded-full bg-teal-700 py-3 text-center text-sm font-semibold text-white transition-all duration-200 hover:bg-teal-800"
>
Get Started
</Link>
</div>
</motion.div>
</>
)}
</AnimatePresence>
</>
)
}