aboutsummaryrefslogtreecommitdiffstats
path: root/apps/mobile/components/bookmarks/BookmarkCard.tsx
diff options
context:
space:
mode:
authorMohamedBassem <me@mbassem.com>2024-04-07 18:30:00 +0100
committerMohamedBassem <me@mbassem.com>2024-04-07 19:00:00 +0100
commit79d61be7e15dc5d23fb687a5f71e0097088a99ac (patch)
treeda72f19cdb74ef4ed2a75bcfddd13bdfb874f205 /apps/mobile/components/bookmarks/BookmarkCard.tsx
parent44918316007ed3153dc802a4b11db3ea09024a8b (diff)
downloadkarakeep-79d61be7e15dc5d23fb687a5f71e0097088a99ac.tar.zst
feature: Extract hook logic into separate package and add a new action bar in bookmark preview
Diffstat (limited to 'apps/mobile/components/bookmarks/BookmarkCard.tsx')
-rw-r--r--apps/mobile/components/bookmarks/BookmarkCard.tsx25
1 files changed, 9 insertions, 16 deletions
diff --git a/apps/mobile/components/bookmarks/BookmarkCard.tsx b/apps/mobile/components/bookmarks/BookmarkCard.tsx
index 89ce7924..d4fbcb58 100644
--- a/apps/mobile/components/bookmarks/BookmarkCard.tsx
+++ b/apps/mobile/components/bookmarks/BookmarkCard.tsx
@@ -17,6 +17,10 @@ import { MenuView } from "@react-native-menu/menu";
import { Ellipsis, Star } from "lucide-react-native";
import type { ZBookmark } from "@hoarder/trpc/types/bookmarks";
+import {
+ useDeleteBookmark,
+ useUpdateBookmark,
+} from "@hoarder/shared-react/hooks/bookmarks";
import { Divider } from "../ui/Divider";
import { Skeleton } from "../ui/Skeleton";
@@ -45,7 +49,6 @@ export function isBookmarkStillLoading(bookmark: ZBookmark) {
function ActionBar({ bookmark }: { bookmark: ZBookmark }) {
const { toast } = useToast();
- const apiUtils = api.useUtils();
const onError = () => {
toast({
@@ -56,37 +59,27 @@ function ActionBar({ bookmark }: { bookmark: ZBookmark }) {
};
const { mutate: deleteBookmark, isPending: isDeletionPending } =
- api.bookmarks.deleteBookmark.useMutation({
+ useDeleteBookmark({
onSuccess: () => {
toast({
message: "The bookmark has been deleted!",
showProgress: false,
});
- apiUtils.bookmarks.getBookmarks.invalidate();
- apiUtils.bookmarks.searchBookmarks.invalidate();
},
onError,
});
- const { mutate: favouriteBookmark, variables } =
- api.bookmarks.updateBookmark.useMutation({
- onSuccess: () => {
- apiUtils.bookmarks.getBookmarks.invalidate();
- apiUtils.bookmarks.getBookmark.invalidate({ bookmarkId: bookmark.id });
- },
- onError,
- });
+ const { mutate: favouriteBookmark, variables } = useUpdateBookmark({
+ onError,
+ });
const { mutate: archiveBookmark, isPending: isArchivePending } =
- api.bookmarks.updateBookmark.useMutation({
+ useUpdateBookmark({
onSuccess: (resp) => {
toast({
message: `The bookmark has been ${resp.archived ? "archived" : "un-archived"}!`,
showProgress: false,
});
- apiUtils.bookmarks.getBookmarks.invalidate();
- apiUtils.bookmarks.getBookmark.invalidate({ bookmarkId: bookmark.id });
- apiUtils.bookmarks.searchBookmarks.invalidate();
},
onError,
});