"use client" import * as React from "react" import { useMediaQuery } from "@/hooks/use-media-query" import { Button } from "@/registry/default/ui/button" import { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, } from "@/registry/default/ui/command" import { Drawer, DrawerContent, DrawerTrigger, } from "@/registry/default/ui/drawer" import { Popover, PopoverContent, PopoverTrigger, } from "@/registry/default/ui/popover" type Status = { value: string label: string } const statuses: Status[] = [ { value: "backlog", label: "Backlog", }, { value: "todo", label: "Todo", }, { value: "in progress", label: "In Progress", }, { value: "done", label: "Done", }, { value: "canceled", label: "Canceled", }, ] export default function ComboBoxResponsive() { const [open, setOpen] = React.useState(false) const isDesktop = useMediaQuery("(min-width: 768px)") const [selectedStatus, setSelectedStatus] = React.useState( null ) if (isDesktop) { return ( ) } return (
) } function StatusList({ setOpen, setSelectedStatus, }: { setOpen: (open: boolean) => void setSelectedStatus: (status: Status | null) => void }) { return ( No results found. {statuses.map((status) => ( { setSelectedStatus( statuses.find((priority) => priority.value === value) || null ) setOpen(false) }} > {status.label} ))} ) }