import React, { useState } from "react"; import CollectionSelection from "@/components/InputSelect/CollectionSelection"; import TagSelection from "@/components/InputSelect/TagSelection"; import useLinkStore from "@/store/links"; import { LinkIncludingShortenedCollectionAndTags } from "@/types/global"; import toast from "react-hot-toast"; import Modal from "../Modal"; type Props = { onClose: Function; }; export default function BulkEditLinksModal({ onClose }: Props) { const { updateLinks, selectedLinks, setSelectedLinks } = useLinkStore(); const [submitLoader, setSubmitLoader] = useState(false); const [updatedValues, setUpdatedValues] = useState< Pick >({ tags: [] }); const setCollection = (e: any) => { const collectionId = e?.value || null; setUpdatedValues((prevValues) => ({ ...prevValues, collectionId })); }; const setTags = (e: any) => { const tags = e.map((tag: any) => ({ name: tag.label })); setUpdatedValues((prevValues) => ({ ...prevValues, tags })); }; const submit = async () => { if (!submitLoader) { setSubmitLoader(true); const load = toast.loading("Updating..."); const response = await updateLinks(selectedLinks, updatedValues); toast.dismiss(load); if (response.ok) { toast.success(`Updated!`); onClose(); } else toast.error(response.data as string); setSelectedLinks([]); setSubmitLoader(false); onClose(); return response; } }; return (

Edit Link

Collection

Tags

); }