feat: ingest icon/banner/screenshots from source repo

This commit is contained in:
Linus Rath
2026-05-05 21:12:23 +02:00
parent da411af6d3
commit 9f67bc078a
5 changed files with 93 additions and 4 deletions
+21 -2
View File
@@ -18,6 +18,8 @@ interface Extension {
minAppVersion: string | null;
latestVersion: string | null;
installed: boolean;
iconUrl: string | null;
bannerUrl: string | null;
author: {
displayName: string;
githubLogin: string;
@@ -259,10 +261,27 @@ function ExtensionCard({
return (
<div className="group relative border border-border rounded-lg overflow-hidden hover:border-ring/30 transition-colors">
{extension.bannerUrl && (
<Link href={previewHref} className="block focus:outline-none">
<img
src={extension.bannerUrl}
alt=""
className="block h-24 w-full object-cover border-b border-border"
loading="lazy"
/>
</Link>
)}
<Link href={previewHref} className="block p-4 focus:outline-none focus-visible:ring-2 focus-visible:ring-ring/40 rounded-lg">
<div className="flex items-start gap-3">
<div className="w-10 h-10 rounded-md bg-muted flex items-center justify-center shrink-0">
{isPlugin ? (
<div className="w-10 h-10 rounded-md bg-muted flex items-center justify-center shrink-0 overflow-hidden">
{extension.iconUrl ? (
<img
src={extension.iconUrl}
alt=""
className="w-10 h-10 object-cover"
loading="lazy"
/>
) : isPlugin ? (
<Puzzle className="w-5 h-5 text-muted-foreground" />
) : (
<SwatchBook className="w-5 h-5 text-muted-foreground" />