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"
},