diff --git a/components/editor/AudioEditor.tsx b/components/editor/AudioEditor.tsx index 7e05266..57ed974 100644 --- a/components/editor/AudioEditor.tsx +++ b/components/editor/AudioEditor.tsx @@ -916,16 +916,16 @@ export function AudioEditor() { } }, [tracks, currentProjectId, currentProjectName, zoom, currentTime, addToast]); - // Auto-save effect + // Auto-save effect (saves on track or name changes after 3 seconds of no changes) React.useEffect(() => { if (tracks.length === 0) return; const autoSaveTimer = setTimeout(() => { handleSaveProject(); - }, 30000); // Auto-save every 30 seconds + }, 3000); // Auto-save after 3 seconds of no changes return () => clearTimeout(autoSaveTimer); - }, [tracks, handleSaveProject]); + }, [tracks, currentProjectName, handleSaveProject]); // Create new project const handleNewProject = React.useCallback(() => { @@ -1252,9 +1252,9 @@ export function AudioEditor() { type="text" value={currentProjectName} onChange={(e) => setCurrentProjectName(e.target.value)} - onBlur={handleSaveProject} className="bg-transparent border-none outline-none text-sm font-medium text-muted-foreground hover:text-foreground focus:text-foreground transition-colors px-2 py-1 rounded hover:bg-accent/50 focus:bg-accent" placeholder="Untitled Project" + title="Click to edit project name" style={{ width: `${Math.max(12, currentProjectName.length)}ch` }} />