aboutsummaryrefslogtreecommitdiffstats
path: root/packages/shared-react/hooks/lists.ts
blob: f4b19c3c348145ffba288df68e69aecad5fe21ae (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import { api } from "../trpc";

export function useAddBookmarkToList(
  ...opts: Parameters<typeof api.lists.removeFromList.useMutation>
) {
  const apiUtils = api.useUtils();
  return api.lists.addToList.useMutation({
    ...opts,
    onSuccess: (res, req, meta) => {
      apiUtils.bookmarks.getBookmarks.invalidate({ listId: req.listId });
      return opts[0]?.onSuccess?.(res, req, meta);
    },
  });
}

export function useRemoveBookmarkFromList(
  ...opts: Parameters<typeof api.lists.removeFromList.useMutation>
) {
  const apiUtils = api.useUtils();
  return api.lists.removeFromList.useMutation({
    ...opts,
    onSuccess: (res, req, meta) => {
      apiUtils.bookmarks.getBookmarks.invalidate({ listId: req.listId });
      return opts[0]?.onSuccess?.(res, req, meta);
    },
  });
}