From b42f61ff7b472f438d64eadabd57eebc4bd35c36 Mon Sep 17 00:00:00 2001 From: MohamedBassem Date: Mon, 4 Mar 2024 21:47:17 +0000 Subject: fix: Fix Edit tags not populating tags when link is first added --- .../bookmarks/components/AddToListModal.tsx | 7 +++--- .../bookmarks/components/BookmarkOptions.tsx | 4 ++-- .../dashboard/bookmarks/components/TagModal.tsx | 27 ++++++++++++---------- 3 files changed, 20 insertions(+), 18 deletions(-) (limited to 'packages/web/app/dashboard/bookmarks/components') diff --git a/packages/web/app/dashboard/bookmarks/components/AddToListModal.tsx b/packages/web/app/dashboard/bookmarks/components/AddToListModal.tsx index 36e32ab7..4c8e1bc4 100644 --- a/packages/web/app/dashboard/bookmarks/components/AddToListModal.tsx +++ b/packages/web/app/dashboard/bookmarks/components/AddToListModal.tsx @@ -158,14 +158,13 @@ export default function AddToListModal({ export function useAddToListModal(bookmarkId: string) { const [open, setOpen] = useState(false); - return [ + return { open, setOpen, - , - ] as const; + }; } diff --git a/packages/web/app/dashboard/bookmarks/components/BookmarkOptions.tsx b/packages/web/app/dashboard/bookmarks/components/BookmarkOptions.tsx index d4447f29..e6d0cd15 100644 --- a/packages/web/app/dashboard/bookmarks/components/BookmarkOptions.tsx +++ b/packages/web/app/dashboard/bookmarks/components/BookmarkOptions.tsx @@ -30,8 +30,8 @@ export default function BookmarkOptions({ bookmark }: { bookmark: ZBookmark }) { const { toast } = useToast(); const linkId = bookmark.id; - const [_, setTagModalIsOpen, tagModal] = useTagModel(bookmark); - const [_2, setAddToListModalOpen, addToListModal] = useAddToListModal( + const {setOpen: setTagModalIsOpen, content: tagModal} = useTagModel(bookmark); + const {setOpen: setAddToListModalOpen, content: addToListModal} = useAddToListModal( bookmark.id, ); diff --git a/packages/web/app/dashboard/bookmarks/components/TagModal.tsx b/packages/web/app/dashboard/bookmarks/components/TagModal.tsx index 3b6a0bd4..703c4221 100644 --- a/packages/web/app/dashboard/bookmarks/components/TagModal.tsx +++ b/packages/web/app/dashboard/bookmarks/components/TagModal.tsx @@ -15,7 +15,7 @@ import { ZBookmark } from "@/lib/types/api/bookmarks"; import { ZAttachedByEnum } from "@/lib/types/api/tags"; import { cn } from "@/lib/utils"; import { Sparkles, X } from "lucide-react"; -import { useState, KeyboardEvent } from "react"; +import { useState, KeyboardEvent, useEffect } from "react"; type EditableTag = { attachedBy: ZAttachedByEnum; id?: string; name: string }; @@ -113,13 +113,14 @@ export default function TagModal({ open: boolean; setOpen: (open: boolean) => void; }) { - const [tags, setTags] = useState(() => { + const [tags, setTags] = useState>(new Map()); + useEffect(() => { const m = new Map(); for (const t of bookmark.tags) { m.set(t.name, { attachedBy: t.attachedBy, id: t.id, name: t.name }); } - return m; - }); + setTags(m); + }, [bookmark.tags]); const bookmarkInvalidationFunction = api.useUtils().bookmarks.getBookmark.invalidate; @@ -191,14 +192,16 @@ export default function TagModal({ export function useTagModel(bookmark: ZBookmark) { const [open, setOpen] = useState(false); - return [ + return { open, setOpen, - , - ] as const; + content: ( + + ), + }; } -- cgit v1.2.3-70-g09d2