"use client"; import Image from "next/image"; import Link from "next/link"; import { BookmarkMarkdownComponent } from "@/components/dashboard/bookmarks/BookmarkMarkdownComponent"; import { bookmarkLayoutSwitch } from "@/lib/userLocalSettings/bookmarksLayout"; import { cn } from "@/lib/utils"; import type { ZBookmarkTypeText } from "@karakeep/shared/types/bookmarks"; import { getAssetUrl } from "@karakeep/shared/utils/assetUtils"; import { getSourceUrl } from "@karakeep/shared/utils/bookmarkUtils"; import { BookmarkLayoutAdaptingCard } from "./BookmarkLayoutAdaptingCard"; import FooterLinkURL from "./FooterLinkURL"; export default function TextCard({ bookmark, className, }: { bookmark: ZBookmarkTypeText; className?: string; }) { const banner = bookmark.assets.find((a) => a.assetType == "bannerImage"); return ( <> {bookmark} } footer={ getSourceUrl(bookmark) && ( ) } wrapTags={true} bookmark={bookmark} className={className} fitHeight={true} image={(layout, className) => bookmarkLayoutSwitch(layout, { grid: null, masonry: null, compact: null, list: banner ? (
card banner
) : (
Note
), }) } /> ); }