import ProfileReferralCodePage from "@/components/user/referral/referralPage";
import { getProfile } from "@/libs/axios/modules/user";
import { UserModel } from "@/models";
import { cookies } from "next/headers";
import { redirect } from "next/navigation";

export default async function Page() {
    const cookieStore = await cookies();
    const token = cookieStore.get("token");
    const rawToken = token?.value?.slice(1, -1);

    if (!rawToken) redirect("/login");

    let user: UserModel | null = null;
    try {
        const { data: res } = await getProfile(rawToken);
        user = res?.data ?? null;
    } catch {
        redirect("/login");
    }

    if (!user) redirect("/login");

    return <ProfileReferralCodePage token={rawToken} user={user} />;
}