From eba9d3c86dcedae233c32b80477d762ed5b026d3 Mon Sep 17 00:00:00 2001 From: Isaac Wise Date: Fri, 9 Feb 2024 23:51:02 -0600 Subject: [PATCH] Display checkbox on card & reset when collection is changed --- components/LinkViews/LinkCard.tsx | 14 ++++++++++++-- pages/collections/[id].tsx | 12 ++++++++---- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/components/LinkViews/LinkCard.tsx b/components/LinkViews/LinkCard.tsx index 20694b3..81fbfae 100644 --- a/components/LinkViews/LinkCard.tsx +++ b/components/LinkViews/LinkCard.tsx @@ -24,13 +24,17 @@ type Props = { flipDropdown?: boolean; }; -export default function LinkGrid({ +export default function LinkCard({ link, flipDropdown, }: Props) { const { collections } = useCollectionStore(); - const { links, getLink } = useLinkStore(); + const { links, getLink, setSelectedLinks, selectedLinks } = useLinkStore(); + + const handleCheckboxClick = (checkboxId: number) => { + setSelectedLinks((selectedLinks.includes(checkboxId) ? selectedLinks.filter((id) => id !== checkboxId) : [...selectedLinks, checkboxId])); + }; let shortendURL; @@ -85,6 +89,12 @@ export default function LinkGrid({ ref={ref} className="border border-solid border-neutral-content bg-base-200 shadow-md hover:shadow-none duration-100 rounded-2xl relative" > + handleCheckboxClick(link.id)} + /> handleSelectAll()} checked={selectedLinks.length === links.length} /> - {selectedLinks.length > 0 && - {selectedLinks.length} link selected - } + {selectedLinks.length > 0 && ( + + {selectedLinks.length} {selectedLinks.length === 1 ? 'link' : 'links'} selected + + )} {selectedLinks.length > 0 && permissions &&