Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 8 additions & 5 deletions apps/web/src/components/tool-listing-detail.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,7 @@ export function ToolListingDetail({ item }: { item: CatalogItem }) {
<Button asChild><a href={site.url} target="_blank" rel="noreferrer"><External className="size-4" /> Visit {site.domain}</a></Button>
</div>

<div className="overflow-hidden rounded-2xl border border-border/60 bg-card/40">
<ToolImageCarousel images={images} domain={site.domain} title={item.title} className="aspect-[16/9] min-h-[28rem]" />
</div>

<div className="mt-6">
<div>
<h2 className="mb-3 text-sm font-semibold">Live site preview</h2>
<div className="overflow-hidden rounded-2xl border border-border/60 bg-card/40">
<ExternalSitePreview
Expand All @@ -44,6 +40,13 @@ export function ToolListingDetail({ item }: { item: CatalogItem }) {
</div>
</div>

<div className="mt-6">
<h2 className="mb-3 text-sm font-semibold">Site thumbnails</h2>
<div className="overflow-hidden rounded-2xl border border-border/60 bg-card/40">
<ToolImageCarousel images={images} domain={site.domain} title={item.title} className="aspect-[16/9] min-h-[28rem]" />
</div>
</div>

<div className="mt-6 grid gap-4 md:grid-cols-2">
<div className="rounded-xl border border-border/60 bg-card/40 p-5"><h2 className="flex items-center gap-2 text-sm font-semibold"><Globe className="size-4" /> Site metadata and fallback</h2>{site.ogImageUrl ? <ToolListingImage src={site.ogImageUrl} domain={site.domain} alt={`Open Graph preview for ${item.title}`} className="mt-4 aspect-[16/9] w-full rounded-lg border border-border/60" /> : null}<dl className="mt-4 grid gap-3 text-sm"><div><dt className="text-xs text-muted-foreground">Fetched title</dt><dd>{site.ogTitle || "Not provided"}</dd></div><div><dt className="text-xs text-muted-foreground">Fetched description</dt><dd className="leading-relaxed">{site.ogDescription || "Not provided"}</dd></div></dl></div>
<div className="rounded-xl border border-border/60 bg-card/40 p-5"><h2 className="flex items-center gap-2 text-sm font-semibold"><Check className="size-4 text-receipt" /> Scoped evidence</h2><p className="mt-3 text-sm leading-relaxed">{domainEvidence ? `The creator proved DNS control of ${site.domain}.` : "No public domain-control evidence is available."}</p><p className="mt-2 text-xs leading-relaxed text-muted-foreground">Domain control and curator approval do not certify security, privacy, legality, accessibility, or ongoing usefulness.</p></div>
Expand Down
Loading