"use client";
import { useEffect, useState } from "react";
import { createPortal } from "react-dom";
import Link from "next/link";
import { usePathname } from "next/navigation";
import { Menu, X, ChevronDown, Phone, ArrowRight } from "lucide-react";
import type { NavItem } from "@/lib/nav";
type NavService = { slug: string; title: string };
export function MobileMenu({
navItems,
services,
phone,
phoneRaw,
}: {
navItems: NavItem[];
services: NavService[];
phone: string;
phoneRaw: string;
}) {
const [mounted, setMounted] = useState(false);
const [open, setOpen] = useState(false);
const [servicesOpen, setServicesOpen] = useState(false);
const pathname = usePathname();
useEffect(() => setMounted(true), []);
// Rota değişince menüyü kapat
useEffect(() => {
setOpen(false);
}, [pathname]);
// Açıkken arka plan kaydırmasını kilitle
useEffect(() => {
document.body.style.overflow = open ? "hidden" : "";
return () => {
document.body.style.overflow = "";
};
}, [open]);
// Drawer + overlay — header transform bağlamından kaçmak için body'ye portal
const overlay = (
{/* Koyu overlay */}
setOpen(false)}
className={`absolute inset-0 bg-black/50 transition-opacity duration-300 ${
open ? "opacity-100" : "opacity-0"
}`}
/>
{/* Sağ drawer — beyaz panel */}
{/* Üst bar */}
Menü
{/* Linkler — sıra admin'den yönetilir */}
{/* Alt CTA */}
);
return (
{mounted && createPortal(overlay, document.body)}
);
}