feat: logistics page shell + Confirmations/Travel/Hotels tabs

- /admin/logistics page with shadcn Tabs (3 active + 5 disabled "(soon)"
  placeholder tabs for Visas / Lunch / Documents / Email Templates / Settings).
- Sidebar entry "Logistics" between Mentors and Awards (Plane icon).
- Confirmations tab: read-only table with status filter pills, browser-
  local-time deadline display, attendee count, decline reason snippet.
- Hotels tab: single-hotel form (name/address/link/notes) with live
  email-preview card showing what teams will see.
- Travel tab: per-attendee flight tracker with arrival/departure
  datetimes, flight numbers, IATA airports, click-to-toggle status badge,
  edit Sheet, and unfilled/pending/confirmed filter pills.

Smoke-tested end-to-end: navigation, sidebar entry, all three tabs
render, hotel save persists to DB and renders in preview card.
This commit is contained in:
Matt
2026-04-28 18:25:29 +02:00
parent d1f29a149a
commit 57ec28edad
5 changed files with 887 additions and 0 deletions

View File

@@ -33,6 +33,7 @@ import {
GraduationCap,
Handshake,
History,
Plane,
Trophy,
User,
MessageSquare,
@@ -91,6 +92,11 @@ const navigation: NavItem[] = [
href: '/admin/mentors',
icon: GraduationCap,
},
{
name: 'Logistics',
href: '/admin/logistics',
icon: Plane,
},
{
name: 'Awards',
href: '/admin/awards',