import { Fragment } from "react"; import { api } from "~/utils/api"; import { Menu, Transition } from "@headlessui/react"; import { HiMiniPlus } from "react-icons/hi2"; import { useFormik } from "formik"; interface MemberSelectorProps { cardPublicId: string; members: { publicId: string; user: { id: string; name: string | null; }; selected: boolean; }[]; } export default function LabelSelector({ cardPublicId, members, }: MemberSelectorProps) { const utils = api.useUtils(); const refetchCard = () => utils.card.byId.refetch({ id: cardPublicId }); const addOrRemoveMember = api.card.addOrRemoveMember.useMutation({ onSuccess: async () => { await refetchCard(); }, }); const formik = useFormik({ initialValues: { ...Object.fromEntries( members?.map((member) => [member.publicId, member.selected]) ?? [], ), }, onSubmit: (values) => { console.log({ values }); }, enableReinitialize: true, }); const selectedMembers = members.filter((member) => member.selected); return ( <>
> ); }