fix: handle viewer load errors

This commit is contained in:
William Valentin
2026-02-02 19:47:45 -08:00
parent eb712ac9e9
commit 1f8c28e1db

View File

@@ -175,21 +175,28 @@ export function MediaPanel(props: { selectedDayIso: string | null }) {
setViewerError(null); setViewerError(null);
setVideoFallback(null); setVideoFallback(null);
if (asset.media_type === "video") { try {
const playback = await loadVideoPlaybackUrl(asset.id); if (asset.media_type === "video") {
const variantLabel = const playback = await loadVideoPlaybackUrl(asset.id);
playback.variant.kind === "video_mp4" const variantLabel =
? "video_mp4" playback.variant.kind === "video_mp4"
: playback.variant.kind; ? "video_mp4"
setViewer({ asset, url: playback.url, variant: variantLabel }); : playback.variant.kind;
void loadAdminLists(); setViewer({ asset, url: playback.url, variant: variantLabel });
return; void loadAdminLists();
} return;
}
const variant: "original" | "thumb_med" | "poster" = "original"; const variant: "original" | "thumb_med" | "poster" = "original";
const url = await loadSignedUrl(asset.id, variant); const url = await loadSignedUrl(asset.id, variant);
setViewer({ asset, url, variant }); setViewer({ asset, url, variant });
void loadAdminLists(); void loadAdminLists();
} catch (err) {
setViewer(null);
setViewerError(
err instanceof Error ? err.message : "viewer_open_failed",
);
}
} }
async function loadAdminLists() { async function loadAdminLists() {