// BookmarkPage.js import React from "react"; import { getUserBookmarks } from "../services/getUserBookmarks"; import { useQuery, useQueryClient } from "react-query"; import ErrorFallback from "../components/Errors/ErrorFallback"; import useBookmark from "../hooks/useBookmark"; import { useNavigate } from "react-router-dom"; import { formatDataByDate } from "../utils/util"; function Bookmark() { const { handleBookmark } = useBookmark(); const navigator = useNavigate(); const queryClient = useQueryClient(); const { data, isLoading, isError, refetch, isSuccess } = useQuery( ["bookmarks"], getUserBookmarks, { cacheTime: 1000 * 60 * 5, // 5 minutes staleTime: 0, // 10 minutes } ); const handleViewPollClick = (pollId) => { navigator(`/view/${pollId}`); }; const handleRemoveBookmark = async (bookmarkId) => { queryClient.setQueryData(["bookmarks"], (oldData) => { return { ...oldData, data: oldData.data.filter((bookmark) => bookmark._id !== bookmarkId), }; }); await handleBookmark(bookmarkId); }; console.log(data); return (

Bookmarked Polls

{isError && (
)} {isLoading &&
} {isSuccess && (
{formatDataByDate(data.data).map((bookmark, index) => ( ))}
# Title Description Actions
{index + 1} {bookmark.title} {bookmark.description}
)}
); } export default Bookmark;