"use client"; import LinkCard from "./LinkCard"; import { ZBookmark, ZGetBookmarksRequest } from "@/lib/types/api/bookmarks"; import { api } from "@/lib/trpc"; import TextCard from "./TextCard"; import { Slot } from "@radix-ui/react-slot"; function renderBookmark(bookmark: ZBookmark) { let comp; switch (bookmark.content.type) { case "link": comp = ; break; case "text": comp = ; break; } return ( {comp} ); } export default function BookmarksGrid({ query, bookmarks: initialBookmarks, }: { query: ZGetBookmarksRequest; bookmarks: ZBookmark[]; }) { const { data } = api.bookmarks.getBookmarks.useQuery(query, { initialData: { bookmarks: initialBookmarks }, }); if (data.bookmarks.length == 0) { return

No bookmarks

; } return (
{data.bookmarks.map((b) => renderBookmark(b))}
); }