bookmark.ts 656 B

12345678910111213141516171819
  1. import { SWRResponse } from 'swr';
  2. import useSWRImmutable from 'swr/immutable';
  3. import { apiv3Get } from '../client/util/apiv3-client';
  4. import { IBookmarkInfo } from '../interfaces/bookmark-info';
  5. export const useSWRBookmarkInfo = (pageId: string | null | undefined): SWRResponse<IBookmarkInfo, Error> => {
  6. return useSWRImmutable(
  7. pageId != null ? `/bookmarks/info?pageId=${pageId}` : null,
  8. endpoint => apiv3Get(endpoint).then((response) => {
  9. return {
  10. sumOfBookmarks: response.data.sumOfBookmarks,
  11. isBookmarked: response.data.isBookmarked,
  12. bookmarkedUsers: response.data.bookmarkedUsers,
  13. };
  14. }),
  15. );
  16. };