diff --git a/app/[lang]/HomeClient.tsx b/app/[lang]/HomeClient.tsx index a66d336..af0502d 100644 --- a/app/[lang]/HomeClient.tsx +++ b/app/[lang]/HomeClient.tsx @@ -1,6 +1,7 @@ "use client"; import { useState } from "react"; +import Image from "next/image"; import { motion, type Variants } from "framer-motion"; import Link from "next/link"; import { Utensils, Umbrella, Home, Wind, Hotel, Star, MapPin, ArrowRight } from "lucide-react"; @@ -289,11 +290,12 @@ export default function HomeClient({ lang, dict }: { lang: string; dict: any }) className={`flex flex-col ${i % 2 === 1 ? "md:flex-row-reverse" : "md:flex-row"} gap-10 items-center`} > {/* Image */} -
{lightbox.title}
diff --git a/app/[lang]/galeri/page.tsx b/app/[lang]/galeri/page.tsx index d74f762..3ac213b 100644 --- a/app/[lang]/galeri/page.tsx +++ b/app/[lang]/galeri/page.tsx @@ -1,9 +1,17 @@ import { getDictionary, Locale } from "../../dictionaries"; import GaleriClient from "./GaleriClient"; -export const metadata = { - title: "Galeri | Moy Group", -}; +export async function generateMetadata({ params }: { params: Promise<{ lang: string }> }) { + const { lang } = await params; + const dict = await getDictionary(lang as Locale); + return { + title: dict.seo.gallery.title, + description: dict.seo.gallery.description, + alternates: { + canonical: `/${lang}/galeri`, + }, + }; +} export default async function GaleriPage({ params, diff --git a/app/[lang]/iletisim/page.tsx b/app/[lang]/iletisim/page.tsx index 12a974a..8a5d75c 100644 --- a/app/[lang]/iletisim/page.tsx +++ b/app/[lang]/iletisim/page.tsx @@ -32,6 +32,18 @@ const LOCATIONS = [ }, ]; +export async function generateMetadata({ params }: { params: Promise<{ lang: string }> }) { + const { lang } = await params; + const dict = await getDictionary(lang as Locale); + return { + title: dict.seo.contact.title, + description: dict.seo.contact.description, + alternates: { + canonical: `/${lang}/iletisim`, + }, + }; +} + export default async function IletisimPage({ params, }: { diff --git a/app/[lang]/kurumsal/page.tsx b/app/[lang]/kurumsal/page.tsx index 2301494..3704bf6 100644 --- a/app/[lang]/kurumsal/page.tsx +++ b/app/[lang]/kurumsal/page.tsx @@ -1,8 +1,16 @@ import { getDictionary, Locale } from "../../dictionaries"; -export const metadata = { - title: "Kurumsal | Moy Group", -}; +export async function generateMetadata({ params }: { params: Promise<{ lang: string }> }) { + const { lang } = await params; + const dict = await getDictionary(lang as Locale); + return { + title: dict.seo.corporate.title, + description: dict.seo.corporate.description, + alternates: { + canonical: `/${lang}/kurumsal`, + }, + }; +} export default async function KurumsalPage({ params, diff --git a/app/[lang]/layout.tsx b/app/[lang]/layout.tsx index 182baca..b1a8574 100644 --- a/app/[lang]/layout.tsx +++ b/app/[lang]/layout.tsx @@ -17,10 +17,18 @@ const montserrat = Montserrat({ weight: ["300", "400", "500", "600", "700"], }); -export const metadata: Metadata = { - title: "Moy Group | Ege'nin Ruhunu Hisset", - description: "Akyaka, Akçapınar ve Datça'da restoran, beach, bungalov ve kitesurf hizmetleriyle doğa ile iç içe premium tatil deneyimi.", -}; +export async function generateMetadata({ params }: { params: Promise<{ lang: string }> }): Promise
+ {dict.description}
diff --git a/app/components/Navbar.tsx b/app/components/Navbar.tsx index 4587002..6453592 100644 --- a/app/components/Navbar.tsx +++ b/app/components/Navbar.tsx @@ -2,6 +2,7 @@ import { useState, useEffect } from "react"; import Link from "next/link"; +import Image from "next/image"; import { usePathname } from "next/navigation"; import { Menu, X, Globe } from "lucide-react"; import { motion, AnimatePresence } from "framer-motion"; @@ -53,7 +54,7 @@ export default function Navbar({ lang, dict }: { lang: Locale; dict: any }) {
+