From e3582b7b9a090f6e9ba7e86233252925ed5ba59c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Kr=C3=BCger?= Date: Tue, 18 Nov 2025 07:09:29 +0100 Subject: [PATCH] feat: show waveform in collapsed state MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Changes: - Waveform canvas now displays even when track is collapsed - Only the upload placeholder is hidden when collapsed - Gives better visual overview when tracks are minimized - Similar to DAWs like Ableton Live 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- components/tracks/Track.tsx | 72 ++++++++++++++++++------------------- 1 file changed, 35 insertions(+), 37 deletions(-) diff --git a/components/tracks/Track.tsx b/components/tracks/Track.tsx index 8e2a3b4..81ee352 100644 --- a/components/tracks/Track.tsx +++ b/components/tracks/Track.tsx @@ -81,7 +81,7 @@ export function Track({ // Draw waveform React.useEffect(() => { - if (!track.audioBuffer || !canvasRef.current || track.collapsed) return; + if (!track.audioBuffer || !canvasRef.current) return; const canvas = canvasRef.current; const ctx = canvas.getContext('2d'); @@ -387,43 +387,41 @@ export function Track({ className="flex-1 relative bg-slate-900 border-b border-border cursor-pointer" onClick={onSelect} > - {!track.collapsed && ( - <> - {track.audioBuffer ? ( - + ) : ( + !track.collapsed && ( + <> +
{ + e.stopPropagation(); + handleLoadAudioClick(); + }} + onDragOver={handleDragOver} + onDragLeave={handleDragLeave} + onDrop={handleDrop} + > + +

{isDragging ? 'Drop audio file here' : 'Click to load audio file'}

+

or drag & drop

+
+ - ) : ( - <> -
{ - e.stopPropagation(); - handleLoadAudioClick(); - }} - onDragOver={handleDragOver} - onDragLeave={handleDragLeave} - onDrop={handleDrop} - > - -

{isDragging ? 'Drop audio file here' : 'Click to load audio file'}

-

or drag & drop

-
- - - )} - + + ) )}