import type { Metadata } from "next";
import { cookies } from "next/headers";

import { AppShellRouter } from "@/components/app-shell-router";
import {
  AUTH_COOKIE_NAME,
  DEMO_USER,
  LEGACY_AUTH_COOKIE_NAME,
  isValidSessionCookie,
} from "@/lib/auth";
import "./globals.css";

export const metadata: Metadata = {
  title: "PropertyPilot",
  description:
    "A subscription property operations system for UK homeowners and small landlords managing rent, repairs, yearly checks, compliance, maps, and valuations.",
};

export default async function RootLayout({
  children,
}: Readonly<{
  children: React.ReactNode;
}>) {
  const cookieStore = await cookies();
  const session =
    cookieStore.get(AUTH_COOKIE_NAME)?.value ??
    cookieStore.get(LEGACY_AUTH_COOKIE_NAME)?.value;
  const signedIn = isValidSessionCookie(session);

  return (
    <html lang="en-GB" className="h-full antialiased" suppressHydrationWarning>
      <body className="min-h-full flex flex-col">
        <AppShellRouter signedIn={signedIn} user={DEMO_USER}>
          {children}
        </AppShellRouter>
      </body>
    </html>
  );
}
