import { getServerSession } from "next-auth";
import { redirect } from "next/navigation";
import { authOptions } from "@/lib/auth";
import { AppShell } from "@/components/layout/app-shell";
import { InboxConversationCenter } from "@/components/inbox/inbox-conversation-center";

export default async function InboxPage({
  searchParams,
}: {
  searchParams: Promise<{ sync?: string; thread?: string }>;
}) {
  const session = await getServerSession(authOptions);
  if (!session?.user) {
    redirect("/login?callbackUrl=/inbox");
  }

  const { thread } = await searchParams;
  return (
    <AppShell
      userName={session.user.name}
      userEmail={session.user.email}
      userRole={session.user.role}
    >
      <InboxConversationCenter initialThreadId={thread} />
    </AppShell>
  );
}
