feat: lunch event configuration card

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Matt
2026-04-29 02:41:34 +02:00
parent 6fcabc89d7
commit ec00942620
2 changed files with 249 additions and 20 deletions

View File

@@ -1,35 +1,18 @@
'use client'
import { trpc } from '@/lib/trpc/client'
import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'
import { Skeleton } from '@/components/ui/skeleton'
import { LunchEventConfig } from './lunch-event-config'
export function LunchTab({ programId }: { programId: string }) {
const { data: event, isLoading } = trpc.lunch.getEvent.useQuery({ programId })
if (isLoading || !event) {
return <Skeleton className="h-48 w-full" />
}
if (!event.enabled) {
return (
<Card>
<CardHeader>
<CardTitle>Lunch is disabled</CardTitle>
</CardHeader>
<CardContent>
<p className="text-muted-foreground text-sm">
Toggle Lunch on from the Event configuration card to begin setup.
</p>
{/* Event config card mounts in Task 14, replacing this stub. */}
</CardContent>
</Card>
)
}
return (
<div className="space-y-6">
{/* Cards mount in Tasks 14-18. */}
<p className="text-muted-foreground text-sm">
Lunch tab cards land in upcoming tasks.
</p>
<LunchEventConfig programId={programId} event={event} />
{/* Other cards mount in Tasks 15-18 once event.enabled. */}
</div>
)
}