diff --git a/src/components/PresetSelector.tsx b/src/components/PresetSelector.tsx index 53821604..bfcccd76 100644 --- a/src/components/PresetSelector.tsx +++ b/src/components/PresetSelector.tsx @@ -8,6 +8,14 @@ import { PRESETS } from "@/lib/presets"; import { EditRecipe } from "@/lib/types"; import { cn } from "@/lib/utils"; +// 1. Define the shape of our saved custom presets +interface SavedPreset { + id: string; + label: string; + width: number; + height: number; +} + interface Props { recipe: EditRecipe; onChange: (patch: Partial) => void; @@ -145,6 +153,47 @@ export default function PresetSelector({ recipe, onChange }: Props) { }) )} + {/* Render dynamically saved custom presets */} + {savedPresets.map((preset) => { + const active = recipe.preset === preset.id; + return ( + + ); + })} + + {/* The Custom Trigger Button */}
@@ -246,4 +304,4 @@ export default function PresetSelector({ recipe, onChange }: Props) { )}
); -} +} \ No newline at end of file diff --git a/src/components/VideoEditor.tsx b/src/components/VideoEditor.tsx index d43f5d18..a921018a 100644 --- a/src/components/VideoEditor.tsx +++ b/src/components/VideoEditor.tsx @@ -74,6 +74,7 @@ export default function VideoEditor() { } }, [status]); + const isProcessing = status === "loading-engine" || status === "exporting"; const videoSrc = useMemo(