aboutsummaryrefslogtreecommitdiffstats
path: root/apps/mobile/app/sharing.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'apps/mobile/app/sharing.tsx')
-rw-r--r--apps/mobile/app/sharing.tsx25
1 files changed, 14 insertions, 11 deletions
diff --git a/apps/mobile/app/sharing.tsx b/apps/mobile/app/sharing.tsx
index 3e2b6bfb..6d9167db 100644
--- a/apps/mobile/app/sharing.tsx
+++ b/apps/mobile/app/sharing.tsx
@@ -5,8 +5,9 @@ import { useShareIntentContext } from "expo-share-intent";
import { Button } from "@/components/ui/Button";
import { Text } from "@/components/ui/Text";
import useAppSettings from "@/lib/settings";
-import { api } from "@/lib/trpc";
+import { useTRPC } from "@/lib/trpc";
import { useUploadAsset } from "@/lib/upload";
+import { useMutation, useQueryClient } from "@tanstack/react-query";
import { z } from "zod";
import { BookmarkTypes, ZBookmark } from "@karakeep/shared/types/bookmarks";
@@ -18,8 +19,11 @@ type Mode =
| { type: "error" };
function SaveBookmark({ setMode }: { setMode: (mode: Mode) => void }) {
+ const api = useTRPC();
+ const queryClient = useQueryClient();
+
const onSaved = (d: ZBookmark & { alreadyExists: boolean }) => {
- invalidateAllBookmarks();
+ queryClient.invalidateQueries(api.bookmarks.getBookmarks.pathFilter());
setMode({
type: d.alreadyExists ? "alreadyExists" : "success",
bookmarkId: d.id,
@@ -36,9 +40,6 @@ function SaveBookmark({ setMode }: { setMode: (mode: Mode) => void }) {
},
});
- const invalidateAllBookmarks =
- api.useUtils().bookmarks.getBookmarks.invalidate;
-
useEffect(() => {
if (isLoading) {
return;
@@ -77,12 +78,14 @@ function SaveBookmark({ setMode }: { setMode: (mode: Mode) => void }) {
}
}, [isLoading]);
- const { mutate, isPending } = api.bookmarks.createBookmark.useMutation({
- onSuccess: onSaved,
- onError: () => {
- setMode({ type: "error" });
- },
- });
+ const { mutate, isPending } = useMutation(
+ api.bookmarks.createBookmark.mutationOptions({
+ onSuccess: onSaved,
+ onError: () => {
+ setMode({ type: "error" });
+ },
+ }),
+ );
return (
<View className="flex flex-row gap-3">