import type { Metadata } from "next"; import { cookies } from "next/headers"; import { redirect } from "next/navigation"; import { AdminItemCreatePage } from "@/components/admin/items/AdminItemCreatePage"; import Header from "@/components/Header"; import { searchAdminItems } from "@/lib/prisma/queries/items"; import { getActiveServers } from "@/lib/prisma/queries/servers"; import { getUserById } from "@/lib/prisma/queries/users"; import { getSession } from "@/lib/redis/session"; export async function generateMetadata(): Promise { return { title: "Novo item | Painel Administrativo", description: "Cadastre um novo item unificado no catálogo administrativo.", }; } export default async function AdminNewItemPage({ params, }: { params: Promise<{ locale: string }>; }) { const { locale } = await params; const cookieStore = await cookies(); const sessionId = cookieStore.get("sessionId")?.value; if (!sessionId) { redirect(`/${locale}`); } const session = await getSession(sessionId); if (!session) { redirect(`/${locale}`); } const adminUser = await getUserById(session.userId); if (!adminUser || adminUser.user_id !== 1) { redirect(`/${locale}`); } const [initialItems, activeServers] = await Promise.all([ searchAdminItems({ page: 1, pageSize: 1 }), getActiveServers(), ]); return (
s.server_name)} />
); }