import Content from "@/components/dashboard/Content"; import { defineAbilitiesFor } from "@/lib/ability"; import { getUser } from "@/lib/auth"; import { getStateInfo } from "@/lib/getStateInfo"; import { removeToken } from "@/utils"; import { cookies } from "next/headers"; import { redirect } from "next/navigation"; import { fetchReq } from "@/lib/req"; import { buildPatientUser } from "@/lib/representationAdapters"; export default async function Dashboard({ searchParams }) { const awaitedSearchParams = await searchParams; const { matchedCity } = await getStateInfo(); const user = await getUser(); const ability = defineAbilitiesFor(user); const cookieStore = await cookies(); const token = cookieStore.get("access_token"); if (!ability.can("access", "Dashboard")) { removeToken(); return redirect("/login"); } const uuid = cookieStore.get("uuid")?.value; let profile = null; if (uuid) { profile = await fetchReq( `${process.env.NEXT_PUBLIC_API_URL}/api/v1/user-profile/${uuid}`, { headers: { Authorization: `Bearer ${token.value}` } } ); } return ( ); }