From 6fcabc89d7c2a954a385fb83df396ea59234f9e5 Mon Sep 17 00:00:00 2001 From: Matt Date: Wed, 29 Apr 2026 02:40:32 +0200 Subject: [PATCH] feat: lunch tab scaffold + un-disable trigger Co-Authored-By: Claude Opus 4.7 (1M context) --- src/app/(admin)/admin/logistics/page.tsx | 7 ++-- src/components/admin/logistics/lunch-tab.tsx | 35 ++++++++++++++++++++ 2 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 src/components/admin/logistics/lunch-tab.tsx diff --git a/src/app/(admin)/admin/logistics/page.tsx b/src/app/(admin)/admin/logistics/page.tsx index 8962427..9afcbe1 100644 --- a/src/app/(admin)/admin/logistics/page.tsx +++ b/src/app/(admin)/admin/logistics/page.tsx @@ -15,6 +15,7 @@ import { ConfirmationsTab } from '@/components/admin/logistics/confirmations-tab import { TravelTab } from '@/components/admin/logistics/travel-tab' import { HotelsTab } from '@/components/admin/logistics/hotels-tab' import { VisasTab } from '@/components/admin/logistics/visas-tab' +import { LunchTab } from '@/components/admin/logistics/lunch-tab' export default function LogisticsPage() { const { currentEdition } = useEdition() @@ -52,9 +53,8 @@ export default function LogisticsPage() { Visas - + Lunch - (soon) Email Templates @@ -74,6 +74,9 @@ export default function LogisticsPage() { + + + ) diff --git a/src/components/admin/logistics/lunch-tab.tsx b/src/components/admin/logistics/lunch-tab.tsx new file mode 100644 index 0000000..72de5cf --- /dev/null +++ b/src/components/admin/logistics/lunch-tab.tsx @@ -0,0 +1,35 @@ +'use client' + +import { trpc } from '@/lib/trpc/client' +import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card' +import { Skeleton } from '@/components/ui/skeleton' + +export function LunchTab({ programId }: { programId: string }) { + const { data: event, isLoading } = trpc.lunch.getEvent.useQuery({ programId }) + if (isLoading || !event) { + return + } + if (!event.enabled) { + return ( + + + Lunch is disabled + + +

+ Toggle Lunch on from the Event configuration card to begin setup. +

+ {/* Event config card mounts in Task 14, replacing this stub. */} +
+
+ ) + } + return ( +
+ {/* Cards mount in Tasks 14-18. */} +

+ Lunch tab — cards land in upcoming tasks. +

+
+ ) +}