diff --git a/.gitignore b/.gitignore index 5ef6a52..e36841c 100644 --- a/.gitignore +++ b/.gitignore @@ -9,7 +9,7 @@ !.yarn/plugins !.yarn/releases !.yarn/versions - +/docs # testing /coverage diff --git a/app/[locale]/galeri/page.tsx b/app/[locale]/galeri/page.tsx new file mode 100644 index 0000000..0859d97 --- /dev/null +++ b/app/[locale]/galeri/page.tsx @@ -0,0 +1,40 @@ +import { setRequestLocale } from "next-intl/server"; +import Image from "next/image"; +import { mockData } from "@/lib/mock-data"; + +export default async function GaleriPage({ params }: { params: Promise<{ locale: string }> }) { + const { locale } = await params; + setRequestLocale(locale); + + // Combine hero slides and accommodation images for a rich gallery + const allImages = [ + ...mockData.heroSlides.map((url, i) => ({ id: `slide-${i}`, url, title: "Kordon Apart" })), + ...mockData.accommodations.map(r => ({ id: r.id, url: r.image, title: r.name })) + ]; + + return ( +
+
+

Galeri

+

+ Kordon Apart'ın eşsiz atmosferini, mimarisini ve Fethiye'nin güzelliklerini keşfedin. +

+
+ +
+ {allImages.map((img) => ( +
+ {img.title} +
+
+ ))} +
+
+ ); +} diff --git a/app/[locale]/iletisim/page.tsx b/app/[locale]/iletisim/page.tsx new file mode 100644 index 0000000..8098af8 --- /dev/null +++ b/app/[locale]/iletisim/page.tsx @@ -0,0 +1,17 @@ +import { setRequestLocale, getTranslations } from 'next-intl/server'; +import { ContactContent } from '@/components/contact-content'; + +export async function generateMetadata({ params }: { params: Promise<{ locale: string }> }) { + const { locale } = await params; + const t = await getTranslations({ locale, namespace: 'nav' }); + return { + title: `${t('contact')} - Kordon Apart`, + }; +} + +export default async function ContactPage({ params }: { params: Promise<{ locale: string }> }) { + const { locale } = await params; + setRequestLocale(locale); + + return ; +} diff --git a/app/[locale]/layout.tsx b/app/[locale]/layout.tsx index e64a5e9..760ceb7 100644 --- a/app/[locale]/layout.tsx +++ b/app/[locale]/layout.tsx @@ -1,24 +1,28 @@ import type { Metadata } from "next"; -import { Geist, Geist_Mono } from "next/font/google"; +import { Inter, Montserrat } from "next/font/google"; import { NextIntlClientProvider } from 'next-intl'; import { getMessages, setRequestLocale } from 'next-intl/server'; import { notFound } from 'next/navigation'; import { routing } from '@/i18n/routing'; +import { Navbar } from '@/components/navbar'; +import { Footer } from '@/components/footer'; +import { ThemeProvider } from "@/components/theme-provider"; +import { Toaster } from "sonner"; import "../globals.css"; -const geistSans = Geist({ - variable: "--font-geist-sans", +const inter = Inter({ + variable: "--font-inter", subsets: ["latin"], }); -const geistMono = Geist_Mono({ - variable: "--font-geist-mono", +const montserrat = Montserrat({ + variable: "--font-montserrat", subsets: ["latin"], }); export const metadata: Metadata = { - title: "Boilerplate App", - description: "Next.js boilerplate with next-intl and NextAuth", + title: "Kordon Apart - Fethiye", + description: "Kordon Apart Fethiye / Merkez - Delüks ve Premium Apart Odalar", }; export function generateStaticParams() { @@ -44,12 +48,25 @@ export default async function RootLayout({ return ( - - - {children} - + + + + +
+ {children} +
+