diff --git a/Dockerfile b/Dockerfile
index 288e979..bc8cd98 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -18,7 +18,13 @@ COPY --from=deps /app/node_modules ./node_modules
COPY . .
# Environment variables must be present at build time for Next.js
-# Coolify will provide these, but we can set defaults
+ARG NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME
+ARG CLOUDINARY_API_KEY
+ARG CLOUDINARY_API_SECRET
+
+ENV NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME=$NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME
+ENV CLOUDINARY_API_KEY=$CLOUDINARY_API_KEY
+ENV CLOUDINARY_API_SECRET=$CLOUDINARY_API_SECRET
ENV NEXT_TELEMETRY_DISABLED=1
RUN npm run build
diff --git a/app/[locale]/contact/page.tsx b/app/[locale]/contact/page.tsx
index 62decc3..b51f428 100644
--- a/app/[locale]/contact/page.tsx
+++ b/app/[locale]/contact/page.tsx
@@ -1,6 +1,14 @@
+'use client';
+
+import { use } from 'react';
import { useTranslations } from 'next-intl';
-export default function ContactPage() {
+interface PageProps {
+ params: Promise<{ locale: string }>;
+}
+
+export default function ContactPage({ params }: PageProps) {
+ const { locale: _locale } = use(params);
const t = useTranslations('Contact');
return (
diff --git a/app/[locale]/fleet/[slug]/page.tsx b/app/[locale]/fleet/[slug]/page.tsx
index b1c37ff..15a197c 100644
--- a/app/[locale]/fleet/[slug]/page.tsx
+++ b/app/[locale]/fleet/[slug]/page.tsx
@@ -10,11 +10,11 @@ import { CldImage } from "next-cloudinary";
import { useTranslations, useLocale } from "next-intl";
interface PageProps {
- params: Promise<{ slug: string }>;
+ params: Promise<{ locale: string; slug: string }>;
}
export default function YachtPage({ params }: PageProps) {
- const { slug } = use(params);
+ const { slug, locale: _locale } = use(params);
const yacht = yachts.find((y) => y.slug === slug);
const [lightboxIndex, setLightboxIndex] = useState(null);
const t = useTranslations('FleetDetail');
diff --git a/app/[locale]/fleet/page.tsx b/app/[locale]/fleet/page.tsx
index 0d9b6b1..76e922e 100644
--- a/app/[locale]/fleet/page.tsx
+++ b/app/[locale]/fleet/page.tsx
@@ -1,9 +1,17 @@
+'use client';
+
+import { use } from "react";
import { yachts } from "../../data/yachts";
import { Link } from "@/i18n/routing";
import { useTranslations, useLocale } from "next-intl";
import { CldImage } from "next-cloudinary";
-export default function FleetPage() {
+interface PageProps {
+ params: Promise<{ locale: string }>;
+}
+
+export default function FleetPage({ params }: PageProps) {
+ const { locale: _locale } = use(params);
const t = useTranslations('FleetList');
const locale = useLocale();
return (
diff --git a/app/[locale]/page.tsx b/app/[locale]/page.tsx
index 3851df1..dc65005 100644
--- a/app/[locale]/page.tsx
+++ b/app/[locale]/page.tsx
@@ -4,9 +4,14 @@ import { Link } from '@/i18n/routing';
import { yachts } from '../data/yachts';
import YachtCard from '../components/YachtCard';
import { motion } from 'framer-motion';
-import { useTranslations } from 'next-intl';
+import { use } from 'react';
-export default function Home() {
+interface PageProps {
+ params: Promise<{ locale: string }>;
+}
+
+export default function Home({ params }: PageProps) {
+ const { locale: _locale } = use(params);
const t = useTranslations('Home');
const fadeInUp = {