diff --git a/Dockerfile b/Dockerfile index 94946cd..66875f3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -8,6 +8,7 @@ WORKDIR /app # Install dependencies COPY package.json package-lock.json* ./ +COPY prisma ./prisma/ RUN npm ci --legacy-peer-deps @@ -17,6 +18,9 @@ WORKDIR /app COPY --from=deps /app/node_modules ./node_modules COPY . . +# Generate Prisma Client +RUN npx prisma generate + # Environment variables must be present at build time for Next.js ENV NEXT_TELEMETRY_DISABLED=1 diff --git a/app/admin/contact/page.tsx b/app/admin/contact/page.tsx index cd89294..3f58e06 100644 --- a/app/admin/contact/page.tsx +++ b/app/admin/contact/page.tsx @@ -4,6 +4,7 @@ import { redirect } from 'next/navigation'; import { Trash2, CheckCircle } from 'lucide-react'; import { deleteContact, markContactAsRead } from '../actions'; import { revalidatePath } from 'next/cache'; +import type { ContactMessage } from '@prisma/client'; export default async function ContactAdminPage() { const session = await getSession(); @@ -31,7 +32,7 @@ export default async function ContactAdminPage() { - {messages.map(msg => ( + {messages.map((msg: ContactMessage) => ( {msg.createdAt.toLocaleDateString('tr-TR')} {msg.name} diff --git a/app/admin/gallery/page.tsx b/app/admin/gallery/page.tsx index 00c1be9..1894d28 100644 --- a/app/admin/gallery/page.tsx +++ b/app/admin/gallery/page.tsx @@ -4,6 +4,7 @@ import { redirect } from 'next/navigation'; import { Trash2, Plus } from 'lucide-react'; import { addGalleryItem, deleteGalleryItem } from '../actions'; import { revalidatePath } from 'next/cache'; +import type { Gallery } from '@prisma/client'; export default async function GalleryAdminPage() { const session = await getSession(); @@ -61,7 +62,7 @@ export default async function GalleryAdminPage() {

Mevcut Resimler ({galleryItems.length})

- {galleryItems.map(item => ( + {galleryItems.map((item: Gallery) => (
{/* eslint-disable-next-line @next/next/no-img-element */} diff --git a/app/admin/services/page.tsx b/app/admin/services/page.tsx index 2edd3fa..2d25793 100644 --- a/app/admin/services/page.tsx +++ b/app/admin/services/page.tsx @@ -4,6 +4,7 @@ import { redirect } from 'next/navigation'; import { Trash2, Plus, Briefcase } from 'lucide-react'; import { addServiceItem, deleteServiceItem } from '../actions'; import { revalidatePath } from 'next/cache'; +import type { Service } from '@prisma/client'; export default async function ServicesAdminPage() { const session = await getSession(); @@ -61,7 +62,7 @@ export default async function ServicesAdminPage() {

Mevcut Hizmetler ({services.length})

- {services.map(item => ( + {services.map((item: Service) => (
{item.iconUrl ? ( diff --git a/package.json b/package.json index ed3f23f..66b67ee 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "private": true, "scripts": { "dev": "next dev", - "build": "next build", + "build": "prisma generate && next build", "start": "next start", "lint": "eslint" },