Files
ita-ito-horaires/app/admin/horaires/page.tsx
T

36 lines
1.1 KiB
TypeScript

import { auth } from '@/lib/auth';
import { prisma } from '@/lib/db';
import type { Slot } from '@/lib/schedule/types';
import { toDraft } from '@/lib/schedule/week';
import WeekEditor from './WeekEditor';
export const metadata = { title: 'Horaires fixes — ITA ITO' };
export default async function HoursPage() {
const [session, rows] = await Promise.all([
auth(),
prisma.weeklySchedule.findMany({ orderBy: { dayOfWeek: 'asc' } }),
]);
const initial = toDraft(
rows.map((row) => ({
dayOfWeek: row.dayOfWeek,
isClosed: row.isClosed,
slots: (row.slots as Slot[] | null) ?? [],
})),
);
return (
<main className="mx-auto max-w-3xl px-4 py-10">
<h1 className="text-2xl">Horaires fixes</h1>
<p className="mt-2 max-w-prose text-[var(--ink-muted)]">
La semaine de référence. Les fermetures ponctuelles, les vacances et les jours fériés se
règlent ailleurs et priment sur ces horaires.
</p>
<WeekEditor initial={initial} canEdit={session?.user?.role === 'admin'} />
</main>
);
}