import { getServerSession } from "next-auth";
import { redirect } from "next/navigation";
import { DashboardHeader } from "@/components/dashboard/header";
import { Sidebar } from "@/components/dashboard/sidebar";
import { TrialExpiryBanner } from "@/components/dashboard/trial-expiry-banner";
import { authOptions } from "@/lib/auth";
import { getLocale } from "@/lib/i18n";

export default async function DashboardLayout({ children }: { children: React.ReactNode }) {
  const session = await getServerSession(authOptions);
  if (!session?.user?.id) redirect("/login");
  const locale = await getLocale();

  return (
    <div className="flex min-h-screen bg-paper">
      <Sidebar locale={locale} />
      <div className="min-w-0 flex-1 flex flex-col">
        <TrialExpiryBanner />
        <DashboardHeader locale={locale} />
        <main className="px-4 py-6 lg:px-8 flex-1">{children}</main>
      </div>
    </div>
  );
}
