import { ReactNode } from "react";
import { Sidebar } from "@/components/dashboard/layout/Sidebar";
import { Header } from "@/components/dashboard/layout/Header";
import TeamChatWidget from "@/components/dashboard/TeamChatWidget";
import { DashboardThemeProvider } from "@/components/dashboard/DashboardThemeProvider";
import { PresenceWrapper } from "@/components/dashboard/PresenceWrapper";

export const dynamic = "force-dynamic";

export default async function DashboardLayout({
  children,
}: {
  children: ReactNode;
}) {
  return (
    <DashboardThemeProvider>
      <PresenceWrapper>
        <div className="flex h-screen overflow-hidden bg-background font-sans antialiased selection:bg-primary/10">
          <Sidebar />
          <div className="flex flex-1 flex-col overflow-hidden">
            <Header />
            <main className="flex-1 overflow-y-auto overflow-x-hidden p-8">
              <div className="mx-auto max-w-7xl space-y-8">
                {children}
              </div>
            </main>
          </div>
          <TeamChatWidget />
        </div>
      </PresenceWrapper>
    </DashboardThemeProvider>
  );
}
