Restructure layout: top bar spans full width (Pulse logo left, user actions right) with continuous bottom border. Sidebar sits below with no vertical border collision. Remove logo from sidebar. Remove all transition-colors from nav items to prevent white flash on click.
30 lines
766 B
TypeScript
30 lines
766 B
TypeScript
'use client'
|
|
|
|
import Sidebar from './Sidebar'
|
|
import UtilityBar from './UtilityBar'
|
|
import { useSidebar } from '@/lib/sidebar-context'
|
|
|
|
export default function DashboardShell({
|
|
siteId,
|
|
children,
|
|
}: {
|
|
siteId: string
|
|
children: React.ReactNode
|
|
}) {
|
|
const { mobileOpen, closeMobile } = useSidebar()
|
|
|
|
return (
|
|
<div className="flex flex-col h-screen overflow-hidden">
|
|
{/* Top bar: full width — logo left, actions right */}
|
|
<UtilityBar />
|
|
{/* Below: sidebar + content */}
|
|
<div className="flex flex-1 overflow-hidden">
|
|
<Sidebar siteId={siteId} mobileOpen={mobileOpen} onMobileClose={closeMobile} />
|
|
<main className="flex-1 min-w-0 overflow-y-auto">
|
|
{children}
|
|
</main>
|
|
</div>
|
|
</div>
|
|
)
|
|
}
|