import RewardPage from "@/components/reward/rewardPage";
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);

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

    return <RewardPage token={rawToken} initialUser={user} />;
}