diff options
| author | MohamedBassem <me@mbassem.com> | 2024-09-01 19:15:24 +0000 |
|---|---|---|
| committer | MohamedBassem <me@mbassem.com> | 2024-09-01 19:15:24 +0000 |
| commit | 67729c131c92a2fab6d1422db34aa000c348af07 (patch) | |
| tree | fe3064beb40f40d3a19c5ec200f7afc2b0e1ff9e /apps/web/components/dashboard/BulkBookmarksAction.tsx | |
| parent | 6d4d1a6e574a99d86c46636ebc8f14a55b07e1b5 (diff) | |
| download | karakeep-67729c131c92a2fab6d1422db34aa000c348af07.tar.zst | |
feature(web): Manage tags in bulk actions
Diffstat (limited to 'apps/web/components/dashboard/BulkBookmarksAction.tsx')
| -rw-r--r-- | apps/web/components/dashboard/BulkBookmarksAction.tsx | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/apps/web/components/dashboard/BulkBookmarksAction.tsx b/apps/web/components/dashboard/BulkBookmarksAction.tsx index 383b9a4e..2e6fc75b 100644 --- a/apps/web/components/dashboard/BulkBookmarksAction.tsx +++ b/apps/web/components/dashboard/BulkBookmarksAction.tsx @@ -8,7 +8,7 @@ import { import ActionConfirmingDialog from "@/components/ui/action-confirming-dialog"; import { useToast } from "@/components/ui/use-toast"; import useBulkActionsStore from "@/lib/bulkActions"; -import { CheckCheck, List, Pencil, Trash2, X } from "lucide-react"; +import { CheckCheck, Hash, List, Pencil, Trash2, X } from "lucide-react"; import { useDeleteBookmark, @@ -16,6 +16,7 @@ import { } from "@hoarder/shared-react/hooks/bookmarks"; import BulkManageListsModal from "./bookmarks/BulkManageListsModal"; +import BulkTagModal from "./bookmarks/BulkTagModal"; import { ArchivedActionIcon, FavouritedActionIcon } from "./bookmarks/icons"; export default function BulkBookmarksAction() { @@ -26,6 +27,7 @@ export default function BulkBookmarksAction() { const { toast } = useToast(); const [isDeleteDialogOpen, setIsDeleteDialogOpen] = useState(false); const [manageListsModal, setManageListsModalOpen] = useState(false); + const [bulkTagModal, setBulkTagModalOpen] = useState(false); useEffect(() => { setIsBulkEditEnabled(false); // turn off toggle + clear selected bookmarks on mount @@ -105,6 +107,13 @@ export default function BulkBookmarksAction() { hidden: !isBulkEditEnabled, }, { + name: "Edit Tags", + icon: <Hash size={18} />, + action: () => setBulkTagModalOpen(true), + isPending: false, + hidden: !isBulkEditEnabled, + }, + { name: alreadyFavourited ? "Unfavourite" : "Favourite", icon: <FavouritedActionIcon favourited={!!alreadyFavourited} size={18} />, action: () => updateBookmarks({ favourited: !alreadyFavourited }), @@ -163,6 +172,11 @@ export default function BulkBookmarksAction() { open={manageListsModal} setOpen={setManageListsModalOpen} /> + <BulkTagModal + bookmarkIds={selectedBookmarks.map((b) => b.id)} + open={bulkTagModal} + setOpen={setBulkTagModalOpen} + /> <div className="flex items-center"> {isBulkEditEnabled && ( <p className="flex items-center gap-2"> |
