'use client'; import { motion, AnimatePresence } from "framer-motion"; import { Button } from "@/components/ui/button"; import { Heart, Menu, X } from "lucide-react"; import { ThemeToggle } from "@/components/ThemeToggle"; import { useEffect, useState } from "react"; import { LoginDialog } from "@/components/LoginDialog"; import { useRouter } from "next/navigation"; import Link from "next/link"; import { useAppTheme } from "@/components/ThemeProvider"; export function Navbar() { const { theme } = useAppTheme(); const isDark = theme === "dark"; const [loginDialogOpen, setLoginDialogOpen] = useState(false); const [mobileMenuOpen, setMobileMenuOpen] = useState(false); const router = useRouter(); const scrollToSection = (id: string) => { const element = document.getElementById(id); if (element) { element.scrollIntoView({ behavior: "smooth" }); setMobileMenuOpen(false); // Close mobile menu after navigation } }; const handleLoginSuccess = () => { // Redirect to user dashboard after successful login router.push("/user/dashboard"); setMobileMenuOpen(false); }; // Close mobile menu when clicking outside useEffect(() => { if (mobileMenuOpen) { document.body.style.overflow = 'hidden'; } else { document.body.style.overflow = 'unset'; } return () => { document.body.style.overflow = 'unset'; }; }, [mobileMenuOpen]); return (
Attune Heart Attune Heart Therapy AHT
{/* Desktop Navigation */}
{/* Desktop Actions */}
{/* Mobile Actions */}
{/* Mobile Menu */} {mobileMenuOpen && ( <> {/* Backdrop */} setMobileMenuOpen(false)} /> {/* Mobile Menu Panel */}
{/* Mobile Navigation Links */}
)}
{/* Login Dialog */}
); }