import { api } from "@/lib/trpc"; import type { ZBookmark } from "@hoarder/shared/types/bookmarks"; import { isBookmarkStillLoading } from "@hoarder/shared-react/utils/bookmarkUtils"; import AssetCard from "./AssetCard"; import LinkCard from "./LinkCard"; import TextCard from "./TextCard"; export default function BookmarkCard({ bookmark: initialData, className, }: { bookmark: ZBookmark; className?: string; }) { const { data: bookmark } = api.bookmarks.getBookmark.useQuery( { bookmarkId: initialData.id, }, { initialData, refetchInterval: (query) => { const data = query.state.data; if (!data) { return false; } if (isBookmarkStillLoading(data)) { return 1000; } return false; }, }, ); switch (bookmark.content.type) { case "link": return ( ); case "text": return ( ); case "asset": return ( ); } }