refactor: make volume and pan sliders inline with labels
Changed slider layout to horizontal: - Label | Slider | Value all in one row - Volume: "Volume" icon + label (64px) | slider (flex) | "80%" (40px) - Pan: "Pan" label (64px) | slider (flex) | "C/L50/R50" (40px) - Much more compact and professional looking - Similar to professional DAW mixer strips 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -262,44 +262,44 @@ export function Track({
|
|||||||
{!track.collapsed && (
|
{!track.collapsed && (
|
||||||
<>
|
<>
|
||||||
{/* Volume */}
|
{/* Volume */}
|
||||||
<div className="space-y-1">
|
<div className="flex items-center gap-2">
|
||||||
<div className="flex items-center justify-between">
|
<label className="text-xs text-muted-foreground flex items-center gap-1 w-16 flex-shrink-0">
|
||||||
<label className="text-xs text-muted-foreground flex items-center gap-1">
|
<Volume2 className="h-3 w-3" />
|
||||||
<Volume2 className="h-3 w-3" />
|
Volume
|
||||||
Volume
|
</label>
|
||||||
</label>
|
<div className="flex-1">
|
||||||
<span className="text-xs text-muted-foreground">
|
<Slider
|
||||||
{Math.round(track.volume * 100)}%
|
value={track.volume}
|
||||||
</span>
|
onChange={onVolumeChange}
|
||||||
|
min={0}
|
||||||
|
max={1}
|
||||||
|
step={0.01}
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<Slider
|
<span className="text-xs text-muted-foreground w-10 text-right flex-shrink-0">
|
||||||
value={track.volume}
|
{Math.round(track.volume * 100)}%
|
||||||
onChange={onVolumeChange}
|
</span>
|
||||||
min={0}
|
|
||||||
max={1}
|
|
||||||
step={0.01}
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* Pan */}
|
{/* Pan */}
|
||||||
<div className="space-y-1">
|
<div className="flex items-center gap-2">
|
||||||
<div className="flex items-center justify-between">
|
<label className="text-xs text-muted-foreground w-16 flex-shrink-0">Pan</label>
|
||||||
<label className="text-xs text-muted-foreground">Pan</label>
|
<div className="flex-1">
|
||||||
<span className="text-xs text-muted-foreground">
|
<Slider
|
||||||
{track.pan === 0
|
value={track.pan}
|
||||||
? 'C'
|
onChange={onPanChange}
|
||||||
: track.pan < 0
|
min={-1}
|
||||||
? `L${Math.round(Math.abs(track.pan) * 100)}`
|
max={1}
|
||||||
: `R${Math.round(track.pan * 100)}`}
|
step={0.01}
|
||||||
</span>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<Slider
|
<span className="text-xs text-muted-foreground w-10 text-right flex-shrink-0">
|
||||||
value={track.pan}
|
{track.pan === 0
|
||||||
onChange={onPanChange}
|
? 'C'
|
||||||
min={-1}
|
: track.pan < 0
|
||||||
max={1}
|
? `L${Math.abs(Math.round(track.pan * 100))}`
|
||||||
step={0.01}
|
: `R${Math.round(track.pan * 100)}`}
|
||||||
/>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
|
|||||||
Reference in New Issue
Block a user