extracted genre picker experiment

I need to properly handle refs for this to work, but this may be more trouble than it's worth
This commit is contained in:
andrzej 2024-06-17 22:56:24 +02:00
parent 3d571a871e
commit 0d25299ba6
1 changed files with 36 additions and 0 deletions

View File

@ -0,0 +1,36 @@
import { forwardRef } from "react";
import { FormField, FormItem, FormMessage } from "@/components/ui/form";
import { Popover, PopoverContent, PopoverPortal, PopoverTrigger } from "@radix-ui/react-popover";
import GenresTrigger from "./genresTrigger";
import GenreCheckbox from "./genreCheckbox";
export const GenrePicker = forwardRef(
({ form, genres }, ref) => (
<FormField
control={form.control}
name="genres"
render={({ field }) => (
<FormItem className="flex flex-col">
<Popover>
<GenresTrigger value={field.value} genres={genres} />
<PopoverContent ref={ref}>
{genres.map((item) => (
<FormField
key={item.id}
control={form.control}
name="genres"
render={({ field }) => {
return (
<GenreCheckbox field={field} item={item} />
)
}}
/>
))}
</PopoverContent>
</Popover>
<FormMessage />
</FormItem>
)}
/>
)
)