feat: improve layout of SequencerCanvas and SequencerPage for better responsiveness and overflow handling
This commit is contained in:
@@ -127,12 +127,11 @@ function TrackRow({ track, duration, zoom, isPlaying, currentTime, draggedItem,
|
|||||||
ref={setDropRef}
|
ref={setDropRef}
|
||||||
id={`track-${track.id}`}
|
id={`track-${track.id}`}
|
||||||
className={`
|
className={`
|
||||||
w-full h-full border-b border-border/50
|
h-full border-b border-border/50
|
||||||
relative overflow-hidden
|
relative overflow-hidden
|
||||||
${isOver ? 'bg-accent/30' : 'bg-muted/10'}
|
${isOver ? 'bg-accent/30' : 'bg-muted/10'}
|
||||||
transition-colors
|
transition-colors
|
||||||
`}
|
`}
|
||||||
style={{ minWidth: `${totalWidth}px` }}
|
|
||||||
>
|
>
|
||||||
{/* Grid lines for time markers */}
|
{/* Grid lines for time markers */}
|
||||||
<div className="absolute inset-0 pointer-events-none">
|
<div className="absolute inset-0 pointer-events-none">
|
||||||
@@ -274,13 +273,12 @@ export const SequencerCanvas = forwardRef<HTMLDivElement, SequencerCanvasProps>(
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* Tracks */}
|
{/* Tracks */}
|
||||||
<div className="flex-1 overflow-hidden">
|
|
||||||
<div
|
<div
|
||||||
ref={ref}
|
ref={ref}
|
||||||
className="w-full h-full overflow-auto"
|
className="flex-1 min-h-0 min-w-0 overflow-auto"
|
||||||
onScroll={handleTracksScroll}
|
onScroll={handleTracksScroll}
|
||||||
>
|
>
|
||||||
<div style={{ minWidth: `${totalWidth}px` }}>
|
<div style={{ width: `${totalWidth}px`, minWidth: `${totalWidth}px` }}>
|
||||||
{tracks.map((track) => (
|
{tracks.map((track) => (
|
||||||
<TrackRow
|
<TrackRow
|
||||||
key={track.id}
|
key={track.id}
|
||||||
@@ -296,7 +294,6 @@ export const SequencerCanvas = forwardRef<HTMLDivElement, SequencerCanvasProps>(
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@@ -337,7 +337,7 @@ export function SequencerPage() {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* Sequencer Canvas */}
|
{/* Sequencer Canvas */}
|
||||||
<div className="flex-1">
|
<div className="flex-1 min-w-0 overflow-hidden">
|
||||||
<SequencerCanvas
|
<SequencerCanvas
|
||||||
ref={sequencerCanvasRef}
|
ref={sequencerCanvasRef}
|
||||||
tracks={state.tracks}
|
tracks={state.tracks}
|
||||||
|
|||||||
Reference in New Issue
Block a user