import { Ticket, Plus } from 'lucide-react'; import { getSupabaseServerClient } from '@kit/supabase/server-client'; import { Button } from '@kit/ui/button'; import { Card, CardContent, CardHeader, CardTitle } from '@kit/ui/card'; import { createEventManagementApi } from '@kit/event-management/api'; import { CmsPageShell } from '~/components/cms-page-shell'; import { EmptyState } from '~/components/empty-state'; interface PageProps { params: Promise<{ account: string }>; } export default async function HolidayPassesPage({ params }: PageProps) { const { account } = await params; const client = getSupabaseServerClient(); const { data: acct } = await client .from('accounts') .select('id') .eq('slug', account) .single(); if (!acct) return
Konto nicht gefunden
; const api = createEventManagementApi(client); const passes = await api.listHolidayPasses(acct.id); return (

Ferienpässe

Ferienpässe und Ferienprogramme verwalten

{passes.length === 0 ? ( } title="Keine Ferienpässe vorhanden" description="Erstellen Sie Ihren ersten Ferienpass." actionLabel="Neuer Ferienpass" /> ) : ( Alle Ferienpässe ({passes.length})
{passes.map((pass: Record) => ( ))}
Name Jahr Preis Gültig von Gültig bis
{String(pass.name)} {String(pass.year ?? '—')} {pass.price != null ? `${Number(pass.price).toFixed(2)} €` : '—'} {pass.valid_from ? new Date(String(pass.valid_from)).toLocaleDateString('de-DE') : '—'} {pass.valid_until ? new Date(String(pass.valid_until)).toLocaleDateString('de-DE') : '—'}
)}
); }