summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcashmere <cashmere@autistici.org>2026-07-26 22:34:11 +0200
committercashmere <cashmere@autistici.org>2026-07-26 22:34:11 +0200
commit4b6caee158a4913f9fda423e4df7f9df2e8a53a0 (patch)
treec8a7a2947f96ae264650fa3f5b56e36a34db704c
parentdb3c7eee7e65831394787c47fbd41a4024537de4 (diff)
downloadopencut-4b6caee158a4913f9fda423e4df7f9df2e8a53a0.tar.gz
fix: guard MediaPreview against image assets without url
The image branch rendered <Image src={item.url ?? ""}>, crashing the assets panel for any image asset lacking url. It now falls back to thumbnailUrl and then to the existing MediaTypePlaceholder, mirroring the video branch's fallback.
-rw-r--r--apps/web/src/components/editor/panels/assets/views/assets.tsx13
1 files changed, 12 insertions, 1 deletions
diff --git a/apps/web/src/components/editor/panels/assets/views/assets.tsx b/apps/web/src/components/editor/panels/assets/views/assets.tsx
index 00cb015f..4dbed41e 100644
--- a/apps/web/src/components/editor/panels/assets/views/assets.tsx
+++ b/apps/web/src/components/editor/panels/assets/views/assets.tsx
@@ -444,10 +444,21 @@ function MediaPreview({
const shouldShowDurationBadge = variant === "grid";
if (item.type === "image") {
+ const src = item.url ?? item.thumbnailUrl;
+ if (!src) {
+ return (
+ <MediaTypePlaceholder
+ icon={Image02Icon}
+ label="Image"
+ duration={item.duration}
+ variant="muted"
+ />
+ );
+ }
return (
<div className="relative flex size-full items-center justify-center bg-muted">
<Image
- src={item.url ?? ""}
+ src={src}
alt={item.name}
fill
sizes="100vw"