import { db } from "@/lib/db"; export const metadata = { title: "Bookings — TouchBase" }; export const dynamic = "force-dynamic"; const TZ = process.env.APP_TZ ?? "America/Detroit"; function formatLocal(d: Date): string { return new Intl.DateTimeFormat("en-US", { timeZone: TZ, weekday: "short", month: "short", day: "numeric", hour: "numeric", minute: "2-digit", }).format(d); } export default async function BookingsPage() { const now = new Date(); const bookings = await db.booking.findMany({ where: { status: { in: ["HOLD", "CONFIRMED"] }, startsAt: { gte: now }, }, include: { customer: { select: { name: true, email: true } }, service: { select: { name: true, durationMin: true } }, therapist: { include: { user: { select: { name: true } } } }, room: { select: { name: true } }, }, orderBy: { startsAt: "asc" }, take: 100, }); return (
No upcoming bookings.
) : (| When | Customer | Service | Therapist | Room | Status |
|---|---|---|---|---|---|
| {formatLocal(b.startsAt)} |
{b.customer.name}
{b.customer.email}
|
{b.service.name}
{b.service.durationMin}m
|
{b.therapist.user.name} | {b.room.name} | {b.status} |