"use client";

import { ProjectsHydrationGate } from "./projects-hydration-gate";
import { Sidebar } from "./sidebar";

interface DashboardLayoutProps {
  children: React.ReactNode;
  /** Set false on pages that must render before Zustand persist rehydrates (e.g. /my-project?new=1). */
  requireHydration?: boolean;
}

export function DashboardLayout({ children, requireHydration = true }: DashboardLayoutProps) {
  return (
    <div className="flex min-h-screen overflow-x-hidden bg-surface">
      <Sidebar />
      <main className="flex min-h-screen min-w-0 flex-1 flex-col bg-surface">
        <ProjectsHydrationGate skip={!requireHydration}>{children}</ProjectsHydrationGate>
      </main>
    </div>
  );
}
