"use client"; import { usePathname, useRouter } from "next/navigation"; import { useState, useRef, useEffect } from "react"; export default function LanguageSwitcher({ currentLang }: { currentLang: string }) { const pathname = usePathname(); const router = useRouter(); const [isOpen, setIsOpen] = useState(false); const dropdownRef = useRef(null); const languages = [ { code: "tr", label: "Türkçe", flag: "🇹🇷" }, { code: "en", label: "English", flag: "🇺🇸" }, ]; const handleLangChange = (newLang: string) => { if (newLang === currentLang) { setIsOpen(false); return; } const segments = pathname.split("/"); segments[1] = newLang; const newPath = segments.join("/"); router.push(newPath); setIsOpen(false); }; useEffect(() => { const handleClickOutside = (event: MouseEvent) => { if (dropdownRef.current && !dropdownRef.current.contains(event.target as Node)) { setIsOpen(false); } }; document.addEventListener("mousedown", handleClickOutside); return () => document.removeEventListener("mousedown", handleClickOutside); }, []); const current = languages.find((l) => l.code === currentLang) || languages[0]; return (
{isOpen && (
{languages.map((lang) => ( ))}
)}
); }