import { FormField, FormItem, FormLabel, FormMessage, FormControl } from "@/components/ui/form" import { Popover, PopoverContent, PopoverTrigger } from "@/components/ui/popover" import { Button } from "@/components/ui/button" import { Badge } from "@/components/ui/badge" import { Checkbox } from "@/components/ui/checkbox" import { cn } from "@/lib/utils" import { ComponentProps } from "react" import { Genre } from "@prisma/client" import { UseFormReturn } from "react-hook-form" export default function GenrePicker({ genres, form }: ComponentProps<"div"> & { genres: Genre[], form: UseFormReturn }) { return ( ( Genres {genres.map((item) => ( < FormField key={item.id} control={form.control} name="genres" render={({ field }) => { return ( { return checked ? field.onChange([...field.value, item.id]) : field.onChange( field.value?.filter( (value) => value !== item.id ) ) }} /> {item.name} ) }} /> ))} )} /> ) }