diff --git a/app/MenuClient.tsx b/app/MenuClient.tsx index 20f2206..760cfd2 100644 --- a/app/MenuClient.tsx +++ b/app/MenuClient.tsx @@ -2,9 +2,11 @@ import { useEffect, useState, useRef } from "react"; import { motion, AnimatePresence } from "framer-motion"; +import { useRouter, usePathname } from "next/navigation"; import { MenuCategory, MenuItem as MenuItemType } from "@/data/menu"; import { CategoryNav } from "@/components/CategoryNav"; import { MenuItem } from "@/components/MenuItem"; +import { getDictionary } from "@/lib/dictionaries"; export const CATEGORY_ICONS: Record = { "kahvaltiliklar": "🌅", @@ -35,12 +37,23 @@ type SiteSettings = { restaurantName: string } -export default function MenuClient({ initialCategories, siteSettings }: { initialCategories: MenuCategory[], siteSettings: SiteSettings }) { +export default function MenuClient({ initialCategories, siteSettings, lang = "tr" }: { initialCategories: MenuCategory[], siteSettings: SiteSettings, lang?: string }) { const [activeCategoryId, setActiveCategoryId] = useState( initialCategories[0]?.id || "" ); const [selectedItem, setSelectedItem] = useState(null); const sectionRefs = useRef<(HTMLElement | null)[]>([]); + + const router = useRouter(); + const pathname = usePathname(); + const t = getDictionary(lang); + + const switchLanguage = (newLang: string) => { + if (newLang === lang) return; + // Replace the current locale in the pathname + const newPath = pathname.replace(`/${lang}`, `/${newLang}`); + router.push(newPath || `/${newLang}`); + }; useEffect(() => { const observer = new IntersectionObserver( @@ -81,6 +94,22 @@ export default function MenuClient({ initialCategories, siteSettings }: { initia }} /> + {/* Language Switcher */} +
+ + +
+ {/* Dark overlay to make text readable */}
@@ -96,7 +125,7 @@ export default function MenuClient({ initialCategories, siteSettings }: { initia className="text-[10px] tracking-[0.38em] uppercase mb-8 font-sans font-medium" style={{ color: "rgba(255,220,160,1)" }} > - Akyaka · Muğla + {siteSettings.location || t.hero.location}

{/* Logo */} @@ -120,7 +149,7 @@ export default function MenuClient({ initialCategories, siteSettings }: { initia className="text-xs font-sans tracking-wide" style={{ color: "rgba(255,218,168,0.5)" }} > - Akyaka'nın en keyifli menüsü + {t.hero.subtitle}

@@ -203,7 +232,7 @@ export default function MenuClient({ initialCategories, siteSettings }: { initia className="text-[10px] font-sans tracking-[0.3em] uppercase mt-1" style={{ color: "rgba(255,200,130,0.35)" }} > - Akyaka, Muğla + {siteSettings.location || t.hero.location}

- © 2026 KiteBeach Akyaka. Tüm hakları saklıdır. + {t.footer.copyright}

; }>) { + const { lang } = await params; + return ( - - {children} + + + {children} + {/* VPS Panel Analytics */} +