import { createFileRoute, useNavigate } from '@tanstack/react-router' import { useState } from 'react' import { CheckoutSection } from '#/components/ordering/CheckoutSection.tsx' import { MenuList } from '#/components/ordering/MenuList.tsx' import { OrderSummary } from '#/components/ordering/OrderSummary.tsx' import { getBrand } from '#/server/brand.ts' import { getMenu } from '#/server/menu.ts' import styles from './index.module.scss' export const Route = createFileRoute('/')({ loader: async () => { const brand = await getBrand() const menu = await getMenu({ data: { brandId: brand.id } }) return { brand, menu } }, component: OrderingPage, }) function OrderingPage() { const { brand, menu } = Route.useLoaderData() const navigate = useNavigate() const [quantities, setQuantities] = useState>({}) const add = (menuItemId: number) => setQuantities((prev) => ({ ...prev, [menuItemId]: (prev[menuItemId] ?? 0) + 1, })) const remove = (menuItemId: number) => setQuantities((prev) => { const current = prev[menuItemId] ?? 0 if (current <= 1) { const next = { ...prev } delete next[menuItemId] return next } return { ...prev, [menuItemId]: current - 1 } }) const items = Object.entries(quantities).flatMap(([menuItemId, quantity]) => Array.from({ length: quantity }, () => ({ menuItemId: Number(menuItemId), })), ) return (

{brand.name}

) }