v3: allow users to edit dump thumbnail, fixed some linter errors in the frontend
All checks were successful
Build and Publish Docker Image / build-and-push (push) Successful in 41s

This commit is contained in:
khannurien
2026-06-21 15:41:40 +00:00
parent 57cf55cc48
commit cf988ae608
27 changed files with 431 additions and 121 deletions

View File

@@ -148,12 +148,15 @@ export default function FilePreview(
const fileUrl = `${API_URL}/api/files/${dump.id}?v=${dump.fileSize ?? 0}`;
const mime = dump.fileMime ?? "";
const isPlaying = current?.kind === "file" && current.fileUrl === fileUrl;
const thumbOverride = dump.thumbnailMime
? `${API_URL}/api/thumbnails/${dump.id}`
: null;
if (compact) {
if (mime.startsWith("image/")) {
return (
<img
src={fileUrl}
src={thumbOverride ?? fileUrl}
alt={dump.fileName}
className="rich-content-compact-thumbnail"
onError={(e) => {
@@ -194,10 +197,19 @@ export default function FilePreview(
play({ kind: "file", fileUrl, mimeType: mime, title: dump.title });
}}
>
<span className="rich-content-compact-icon">{mimeIcon(mime)}</span>
{thumbOverride
? <VideoThumb src={thumbOverride} fallback={mimeIcon(mime)} />
: (
<span className="rich-content-compact-icon">
{mimeIcon(mime)}
</span>
)}
</button>
);
}
if (thumbOverride) {
return <VideoThumb src={thumbOverride} fallback={mimeIcon(mime)} />;
}
return <span className="rich-content-compact-icon">{mimeIcon(mime)}</span>;
}
@@ -225,6 +237,7 @@ export default function FilePreview(
>
<video
src={fileUrl}
poster={thumbOverride ?? undefined}
preload="none"
className="file-preview-video-thumb"
muted
@@ -235,7 +248,14 @@ export default function FilePreview(
</button>
);
}
return <MediaPlayer src={fileUrl} kind="video" mime={mime} />;
return (
<MediaPlayer
src={fileUrl}
kind="video"
mime={mime}
poster={thumbOverride ?? undefined}
/>
);
}
if (mime.startsWith("audio/")) {