import { getServerSession } from 'next-auth';
import { authOptions } from '@/lib/auth';
import { prisma } from '@/lib/prisma';
import DashboardContent from '@/components/DashboardContent';
import DashboardSidebar from '@/components/DashboardSidebar';
export default async function DashboardPage() {
const session = await getServerSession(authOptions);
const isTestMode = process.env.TEST_MODE === 'true';
const testEmailRecipient = process.env.TEST_EMAIL_RECIPIENT;
const emailEnabled = process.env.EMAIL_ENABLED !== 'false';
const autoWorkflows = process.env.AUTO_WORKFLOWS === 'true';
const stats = {
totalBookings: await prisma.booking.count(),
reservedBookings: await prisma.booking.count({
where: { status: 'RESERVED' },
}),
confirmedBookings: await prisma.booking.count({
where: { status: 'CONFIRMED' },
}),
completedBookings: await prisma.booking.count({
where: { status: 'COMPLETED' },
}),
totalLocations: await prisma.location.count(),
totalPhotoboxes: await prisma.photobox.count({
where: { active: true },
}),
totalDrivers: await prisma.user.count({
where: { role: 'DRIVER', active: true },
}),
};
const recentBookings = await prisma.booking.findMany({
take: 5,
orderBy: { createdAt: 'desc' },
include: {
location: true,
photobox: true,
},
});
return (
{/* Development Mode Warning Banner */}
{isTestMode && (
๐งช
TEST-MODUS AKTIV
Alle E-Mails werden an {testEmailRecipient || 'Test-E-Mail'} umgeleitet.
Echte Kunden erhalten KEINE E-Mails!
๐ง E-Mails: {emailEnabled ? 'โ
Aktiv' : 'โ Deaktiviert'}
๐ค Auto-Workflows: {autoWorkflows ? 'โ
Aktiv' : 'โ Deaktiviert'}
)}
{!emailEnabled && !isTestMode && (
โ ๏ธ
E-MAIL-VERSAND DEAKTIVIERT
EMAIL_ENABLED=false - Kunden erhalten keine E-Mails!
Setzen Sie EMAIL_ENABLED="true" in der .env Datei.
)}
);
}