"use client" import * as React from "react" import { toast } from "sonner" import { useIsMobile } from "@/hooks/use-mobile" import { Badge } from "@/styles/aria-nova/ui/badge" import { Button } from "@/styles/aria-nova/ui/button" import { Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerTitle, DrawerTrigger, } from "@/styles/aria-nova/ui/drawer" import { Field, FieldContent, FieldDescription, FieldLabel, FieldTitle, } from "@/styles/aria-nova/ui/field" import { RadioGroup, RadioGroupItem } from "@/styles/aria-nova/ui/radio-group" const deliveryTimes = [ { value: "asap", id: "delivery-asap", label: "Standard delivery", description: "25–35 min · Driver assigned now", badge: "Fastest", }, { value: "5-00", id: "delivery-5-00", label: "5:00 PM – 5:15 PM", description: "Prep starts at 4:45 PM", }, { value: "5-30", id: "delivery-5-30", label: "5:30 PM – 5:45 PM", description: "Good if you're heading home", }, { value: "6-00", id: "delivery-6-00", label: "6:00 PM – 6:15 PM", description: "Most popular · High demand", }, { value: "6-30", id: "delivery-6-30", label: "6:30 PM – 6:45 PM", description: "Last slot before kitchen closes", }, ] export function DrawerDemo() { const [open, setOpen] = React.useState(false) const [deliveryTime, setDeliveryTime] = React.useState("asap") const isMobile = useIsMobile() function handleConfirm() { const selected = deliveryTimes.find((time) => time.value === deliveryTime) if (!selected) { return } setOpen(false) toast("Delivery time confirmed", { description: selected.label, }) } return ( }> Open Drawer Pick a delivery time We'll prepare your order as soon as possible.
{deliveryTimes.map((time) => ( {time.label} {time.badge ? ( {time.badge} ) : null} {time.description} ))}
}> Cancel
) }