feat: lunch manifest card with filters + CSV export

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Matt
2026-04-29 02:42:49 +02:00
parent 939a13c0e8
commit 051dea4d0e
2 changed files with 221 additions and 1 deletions

View File

@@ -4,6 +4,7 @@ import { trpc } from '@/lib/trpc/client'
import { Skeleton } from '@/components/ui/skeleton'
import { LunchEventConfig } from './lunch-event-config'
import { LunchDishes } from './lunch-dishes'
import { LunchManifest } from './lunch-manifest'
export function LunchTab({ programId }: { programId: string }) {
const { data: event, isLoading } = trpc.lunch.getEvent.useQuery({ programId })
@@ -16,7 +17,8 @@ export function LunchTab({ programId }: { programId: string }) {
{event.enabled && (
<>
<LunchDishes programId={programId} lunchEventId={event.id} />
{/* Manifest, externals, recap actions mount in Tasks 16-18. */}
<LunchManifest programId={programId} />
{/* Externals + recap actions mount in Tasks 17-18. */}
</>
)}
</div>