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
+7
View File
@@ -5,6 +5,10 @@ import { useMemo, useState } from "react";
import { PublicBlockRenderer } from "@/components/public/block-renderer";
import { blockLabels } from "@/components/admin/block-canvas";
import {
MediaUploader,
type UploadedMedia,
} from "@/components/admin/media-uploader";
import { Badge } from "@/components/ui/badge";
import { Button } from "@/components/ui/button";
import {
@@ -60,6 +64,7 @@ export function EditorInspector({
onDataSourceChange,
onSaveDataSource,
sourceSaving,
onMediaReady,
}: {
snapshot: PageSnapshot;
draft: EditorDraft;
@@ -69,6 +74,7 @@ export function EditorInspector({
onDataSourceChange: (source: DataSourceSnapshot) => void;
onSaveDataSource: (source: DataSourceSnapshot) => void;
sourceSaving: boolean;
onMediaReady: (media: UploadedMedia) => void;
}) {
const selected = draft.blocks.find((block) => block.id === selectedId);
const preview = {
@@ -109,6 +115,7 @@ export function EditorInspector({
<Badge variant="outline">{blockLabels[selected.type] ?? selected.type}</Badge>
<p className="mt-2 font-mono text-xs text-muted-foreground">{selected.id}</p>
</div>
<MediaUploader onReady={onMediaReady} />
<Field>
<FieldLabel htmlFor="block-width">ความกว้าง</FieldLabel>
<Select