From 30ebd52b4cf9ecc3d3eee5e3ec2b746f841ffcec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Kr=C3=BCger?= Date: Tue, 18 Nov 2025 19:00:59 +0100 Subject: [PATCH] refactor: improve effects panel layout MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Effects panel improvements: - Removed track name label header - Moved "Add Effect" button to top left corner - Button now uses self-start alignment for left positioning - Cleaner, more minimal design Layout changes: - Button appears consistently in top left whether effects exist or not - More space for effect devices - Better visual hierarchy 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- components/tracks/Track.tsx | 77 ++++++++++++++++++++----------------- 1 file changed, 42 insertions(+), 35 deletions(-) diff --git a/components/tracks/Track.tsx b/components/tracks/Track.tsx index 8336e16..71ede00 100644 --- a/components/tracks/Track.tsx +++ b/components/tracks/Track.tsx @@ -915,44 +915,51 @@ export function Track({ {/* Per-Track Effects Panel */} {!track.collapsed && track.showEffects && (
-
- - {track.name} - Effects - - -
- {track.effectChain.effects.length === 0 ? ( -
- No effects on this track +
+ +
+ No effects on this track +
) : ( -
- {track.effectChain.effects.map((effect) => ( - onToggleEffect?.(effect.id)} - onRemove={() => onRemoveEffect?.(effect.id)} - onUpdateParameters={(params) => onUpdateEffect?.(effect.id, params)} - onToggleExpanded={() => { - const updatedEffects = track.effectChain.effects.map((e) => - e.id === effect.id ? { ...e, expanded: !e.expanded } : e - ); - onUpdateTrack(track.id, { - effectChain: { ...track.effectChain, effects: updatedEffects }, - }); - }} - /> - ))} +
+ +
+ {track.effectChain.effects.map((effect) => ( + onToggleEffect?.(effect.id)} + onRemove={() => onRemoveEffect?.(effect.id)} + onUpdateParameters={(params) => onUpdateEffect?.(effect.id, params)} + onToggleExpanded={() => { + const updatedEffects = track.effectChain.effects.map((e) => + e.id === effect.id ? { ...e, expanded: !e.expanded } : e + ); + onUpdateTrack(track.id, { + effectChain: { ...track.effectChain, effects: updatedEffects }, + }); + }} + /> + ))} +
)}