aboutsummaryrefslogtreecommitdiffstats
path: root/packages/shared-react/hooks
diff options
context:
space:
mode:
Diffstat (limited to 'packages/shared-react/hooks')
-rw-r--r--packages/shared-react/hooks/bookmark-list-context.tsx27
-rw-r--r--packages/shared-react/hooks/lists.ts3
2 files changed, 30 insertions, 0 deletions
diff --git a/packages/shared-react/hooks/bookmark-list-context.tsx b/packages/shared-react/hooks/bookmark-list-context.tsx
new file mode 100644
index 00000000..d00e0567
--- /dev/null
+++ b/packages/shared-react/hooks/bookmark-list-context.tsx
@@ -0,0 +1,27 @@
+"use client";
+
+import { createContext, useContext } from "react";
+
+import { ZBookmarkList } from "@hoarder/shared/types/lists";
+
+export const BookmarkListContext = createContext<ZBookmarkList | undefined>(
+ undefined,
+);
+
+export function BookmarkListContextProvider({
+ list,
+ children,
+}: {
+ list: ZBookmarkList;
+ children: React.ReactNode;
+}) {
+ return (
+ <BookmarkListContext.Provider value={list}>
+ {children}
+ </BookmarkListContext.Provider>
+ );
+}
+
+export function useBookmarkListContext() {
+ return useContext(BookmarkListContext);
+}
diff --git a/packages/shared-react/hooks/lists.ts b/packages/shared-react/hooks/lists.ts
index 10633a08..46477228 100644
--- a/packages/shared-react/hooks/lists.ts
+++ b/packages/shared-react/hooks/lists.ts
@@ -28,6 +28,9 @@ export function useEditBookmarkList(
onSuccess: (res, req, meta) => {
apiUtils.lists.list.invalidate();
apiUtils.lists.get.invalidate({ listId: req.listId });
+ if (res.type === "smart") {
+ apiUtils.bookmarks.getBookmarks.invalidate({ listId: req.listId });
+ }
return opts[0]?.onSuccess?.(res, req, meta);
},
});