feat(media): add reference-aware S3 image delivery

This commit is contained in:
2026-08-28 19:45:53 +00:00 Unverified
parent 35a786156a
commit 56460dcf13
13 changed files with 591 additions and 9 deletions
+24
View File
@@ -27,6 +27,7 @@ import {
} from "@/components/admin/admin-sidebar";
import { BlockCanvas } from "@/components/admin/block-canvas";
import { EditorInspector } from "@/components/admin/editor-inspector";
import type { UploadedMedia } from "@/components/admin/media-uploader";
import {
AlertDialog,
AlertDialogAction,
@@ -173,6 +174,28 @@ export function EditorWorkspace({
}
}
function addUploadedMedia(media: UploadedMedia) {
const block: SerializedBlock = {
id: crypto.randomUUID(),
type: "image",
schemaVersion: 1,
config: {
mediaId: media.id,
alt: media.fileName.replace(/\.[^.]+$/u, ""),
fit: "cover",
},
responsiveLayout: {
width: "wide",
mobileSpan: 4,
tabletSpan: 8,
desktopSpan: 12,
hideOnMobile: false,
},
sortOrder: draft.blocks.length,
};
insert(block);
}
const inspector = (
<EditorInspector
snapshot={snapshot}
@@ -183,6 +206,7 @@ export function EditorWorkspace({
onDataSourceChange={(source) => setDataSources((current) => ({ ...current, [source.id]: source }))}
onSaveDataSource={saveSource}
sourceSaving={sourceSaving}
onMediaReady={addUploadedMedia}
/>
);