diff --git a/app/src/components/EffectsTab/EffectsDetail.tsx b/app/src/components/EffectsTab/EffectsDetail.tsx index 73be3113..f877c914 100644 --- a/app/src/components/EffectsTab/EffectsDetail.tsx +++ b/app/src/components/EffectsTab/EffectsDetail.tsx @@ -142,6 +142,29 @@ export function EffectsDetail() { } } + async function handleSaveExisting() { + if (!selectedPresetId || !name.trim()) return; + setSaving(true); + try { + await apiClient.updateEffectPreset(selectedPresetId, { + name: name.trim(), + description: description.trim() || undefined, + effects_chain: workingChain, + }); + queryClient.invalidateQueries({ queryKey: ['effect-presets'] }); + queryClient.invalidateQueries({ queryKey: ['effect-preset', selectedPresetId] }); + toast({ title: 'Preset updated' }); + } catch (error) { + toast({ + title: 'Failed to save', + description: error instanceof Error ? error.message : 'Unknown error', + variant: 'destructive', + }); + } finally { + setSaving(false); + } + } + async function handleSaveAsNew() { await handleSaveNew(); } @@ -186,16 +209,27 @@ export function EffectsDetail() {
{!isBuiltIn && !isCreatingNew && ( - + <> + + + )} {isCreatingNew && (