import Content from "@/components/panel/Content"; import { defineAbilitiesFor } from "@/lib/ability"; import { getUser } from "@/lib/auth"; import { redirect } from "next/navigation"; import { cookies } from "next/headers"; import { fetchReq } from "@/lib/req"; import { safeJsonParse } from "@/lib/sanitize"; async function LayoutPanel({ children }) { const user = await getUser(); const ability = defineAbilitiesFor(user); if (!ability.can("access", "Panel")) { return redirect("/"); } let representationInfo = null; const API_URL = process.env.NEXT_PUBLIC_API_URL; try { const cookieStore = await cookies(); const userInfo = cookieStore.get("userInfo"); const accessToken = cookieStore.get("access_token"); if (userInfo && accessToken) { const parsedUserInfo = safeJsonParse(userInfo.value); if (!parsedUserInfo) return; const representationUuid = parsedUserInfo?.representation_uuid; if (representationUuid) { representationInfo = await fetchReq( `${API_URL}/api/v1/representation/${representationUuid}`, { headers: { Authorization: `Bearer ${accessToken.value}`, }, } ); } } } catch (error) { console.error("Error fetching representation info:", error); } return ; } export default LayoutPanel;