import { redirect } from "next/navigation"; import { createClient } from "@/utils/supabase/server"; import { SidebarNav } from "../components/Nav/SidebarNavItems"; import { Gamepad2, Plus, PlusCircle, Settings } from "lucide-react"; import { Metadata } from "next"; import { getOpenGraphMetadata } from "@/lib/utils"; import { MobileNav } from "../components/Nav/MobileNav"; import { getUserById } from "@/db/users"; const ICON_SIZE = 20; export const dynamic = "force-dynamic"; export const revalidate = 60; export const fetchCache = "force-no-store"; export const metadata: Metadata = { title: "Home", ...getOpenGraphMetadata("Home"), }; const sidebarNavItems: SidebarNavItem[] = [ { title: "Playground", href: "/home", icon: , }, { title: "Settings", href: "/home/settings", icon: , }, { title: "Create new", href: "/home/create", icon: , isPrimary: true, }, ]; export default async function RootLayout({ children, }: { children: React.ReactNode; }) { const supabase = createClient(); const { data: { user }, } = await supabase.auth.getUser(); if (!user) { redirect("/login"); } const dbUser = await getUserById(supabase, user.id); if (!dbUser) { redirect("/login"); } const mobileNavItems = [ sidebarNavItems[0], // Playground sidebarNavItems[2], // Create sidebarNavItems[1], // Settings ]; return (
{children}
); }