import { auth } from "@/auth"; import { redirect, notFound } from "next/navigation"; import { getUserGuilds } from "@/lib/discord"; import ServerSwitcher from "@/components/ServerSwitcher"; import DashboardSidebar from "@/components/DashboardSidebar"; export default async function DashboardLayout({ children, params, }: { children: React.ReactNode; params: Promise<{ guildId: string }>; }) { const session = await auth(); const { guildId } = await params; if (!session?.accessToken) { redirect("/"); } const guilds = await getUserGuilds(session.accessToken as string); const currentGuild = guilds.find((g) => g.id === guildId); if (!currentGuild) { notFound(); } // If bot is not in guild, show the invite page if (!currentGuild.botInGuild) { return (
{/* Header */}

{session.user?.name}

{session.user?.image && ( User )}
{/* Bot Not In Guild Content */}
{currentGuild.icon ? ( {currentGuild.name} ) : (
{currentGuild.name.substring(0, 2)}
)}

{currentGuild.name}

Void Sentinel is not in this server

{currentGuild.isBetaServer ? ( Add to Server ) : ( )}
); } return (
{/* Header */}

{session.user?.name}

{session.user?.image && ( User )}
{/* Dashboard Content with Sidebar */}
{/* Main Area */}
{children}
); }