feat: add Sequencer navigation item to AppSidebar and wrap SequencerPage in AppLayout for improved structure

This commit is contained in:
JSC
2025-09-03 15:30:46 +02:00
parent 282ba9446d
commit 74dfec2e29
2 changed files with 17 additions and 14 deletions

View File

@@ -15,6 +15,7 @@ import {
PlayCircle, PlayCircle,
Settings, Settings,
Users, Users,
AudioLines,
} from 'lucide-react' } from 'lucide-react'
import { CreditsNav } from './nav/CreditsNav' import { CreditsNav } from './nav/CreditsNav'
import { NavGroup } from './nav/NavGroup' import { NavGroup } from './nav/NavGroup'
@@ -48,6 +49,7 @@ export function AppSidebar({ showCompactPlayer = false }: AppSidebarProps) {
<NavItem href="/" icon={Home} title="Dashboard" /> <NavItem href="/" icon={Home} title="Dashboard" />
<NavItem href="/sounds" icon={Music} title="Sounds" /> <NavItem href="/sounds" icon={Music} title="Sounds" />
<NavItem href="/playlists" icon={PlayCircle} title="Playlists" /> <NavItem href="/playlists" icon={PlayCircle} title="Playlists" />
<NavItem href="/sequencer" icon={AudioLines} title="Sequencer" />
<NavItem href="/extractions" icon={Download} title="Extractions" /> <NavItem href="/extractions" icon={Download} title="Extractions" />
<NavItem href="/schedulers" icon={CalendarClock} title="Schedulers" /> <NavItem href="/schedulers" icon={CalendarClock} title="Schedulers" />
</NavGroup> </NavGroup>

View File

@@ -1,12 +1,9 @@
import { Button } from '@/components/ui/button'
import { Input } from '@/components/ui/input'
import { Slider } from '@/components/ui/slider'
import { TrackControls } from '@/components/sequencer/TrackControls' import { TrackControls } from '@/components/sequencer/TrackControls'
import { TimelineControls } from '@/components/sequencer/TimelineControls' import { TimelineControls } from '@/components/sequencer/TimelineControls'
import { SoundLibrary } from '@/components/sequencer/SoundLibrary' import { SoundLibrary } from '@/components/sequencer/SoundLibrary'
import { SequencerCanvas } from '@/components/sequencer/SequencerCanvas' import { SequencerCanvas } from '@/components/sequencer/SequencerCanvas'
import { DndContext, DragEndEvent, DragStartEvent, DragOverEvent, PointerSensor, useSensors, useSensor } from '@dnd-kit/core' import { AppLayout } from '@/components/AppLayout'
import { Play, Square, RotateCcw } from 'lucide-react' import { DndContext, type DragEndEvent, type DragStartEvent, PointerSensor, useSensors, useSensor } from '@dnd-kit/core'
import { useState, useRef, useCallback, useEffect } from 'react' import { useState, useRef, useCallback, useEffect } from 'react'
export interface Track { export interface Track {
@@ -288,12 +285,15 @@ export function SequencerPage() {
}, [state.isPlaying, state.duration]) }, [state.isPlaying, state.duration])
return ( return (
<div className="h-screen flex flex-col bg-background"> <AppLayout
{/* Header */} breadcrumb={{
<div className="flex items-center justify-between p-4 border-b"> items: [
<h1 className="text-2xl font-bold">Sequencer</h1> { label: 'Home', href: '/' },
</div> { label: 'Sequencer' }
]
}}
>
<div className="h-[calc(100vh-8rem)] flex flex-col">
{/* Main Content */} {/* Main Content */}
<div className="flex-1 flex overflow-hidden"> <div className="flex-1 flex overflow-hidden">
<DndContext <DndContext
@@ -355,5 +355,6 @@ export function SequencerPage() {
</DndContext> </DndContext>
</div> </div>
</div> </div>
</AppLayout>
) )
} }