Files
nobat724_front/app/dashboard/page.js
T
2025-06-08 10:13:06 +03:30

46 lines
1.3 KiB
JavaScript

import Content from "@/components/dashboard/Content";
import { defineAbilitiesFor } from "@/lib/ability";
import { getUser } from "@/lib/auth";
import { getStateInfo } from "@/lib/getStateInfo";
import { fetchReq } from "@/lib/req";
import { cookies, headers } from "next/headers";
import { redirect } from "next/navigation";
export default async function Dashboard({ searchParams }) {
const { matchedCity } = getStateInfo();
const user = await getUser();
const ability = defineAbilitiesFor(user);
const cookieStore = cookies();
const token = cookieStore.get("access_token");
const userInfo = cookieStore.get("userInfo");
console.log(userInfo.value.uuid);
if (!ability.can("access", "Dashboard")) {
return redirect("/");
}
const response = await fetchReq(
`https://back-dev.clinic-pro.ir/api/v1/user-profile/${userInfo.value.uuid}`,
{
headers: {
Authorization: `Bearer ${token.value}`,
},
}
)
.then((res) => console.log(res))
.catch((err) => console.log(err));
const userAgent = headers().get("user-agent") || "";
const isMobile = /Mobi|Android/i.test(userAgent);
return (
<Content
dataUser={response}
logged={token.value}
params={searchParams}
matchedCity={matchedCity}
initialTurnsDetails={isMobile}
/>
);
}