Files
Atlas/app/dashboard/bookings/[id]/page.tsx
2025-11-12 20:21:32 +01:00

53 lines
1.3 KiB
TypeScript

import { getServerSession } from 'next-auth';
import { authOptions } from '@/lib/auth';
import { prisma } from '@/lib/prisma';
import { redirect } from 'next/navigation';
import BookingDetail from '@/components/BookingDetail';
import DashboardSidebar from '@/components/DashboardSidebar';
export default async function BookingDetailPage({ params }: { params: { id: string } }) {
const session = await getServerSession(authOptions);
if (!session) {
redirect('/login');
}
const booking = await prisma.booking.findUnique({
where: { id: params.id },
include: {
location: true,
photobox: true,
tour: {
include: {
driver: true,
},
},
bookingEquipment: {
include: {
equipment: true,
},
},
},
});
if (!booking) {
redirect('/dashboard/bookings');
}
const emails = await prisma.email.findMany({
where: { bookingId: booking.id },
orderBy: { receivedAt: 'desc' },
});
return (
<div className="min-h-screen bg-gradient-to-br from-gray-900 via-gray-800 to-gray-900">
<div className="flex">
<DashboardSidebar user={session?.user} />
<main className="flex-1 p-8">
<BookingDetail booking={booking} emails={emails} user={session?.user} />
</main>
</div>
</div>
);
}