import { Metadata } from "next";
import { redirect } from "next/navigation";

import AccountManagement from "@/components/pages/participant/profile/tabs/account-settings";
import { retrieveUserToken } from "@/lib/user-session";
import { INTERNAL_PAGES } from "@/constants/pages-mapping/internal-pages-mapping";
import { getProfileData } from "@/services/general-actions";

export const metadata: Metadata = {
  title: "Account settings | Profile",
};

export default async function AccountManagementPage() {
  const userToken = await retrieveUserToken();

  if (!userToken) {
    redirect(INTERNAL_PAGES.participant.login);
  }

  const participantData = await getProfileData(userToken);
  const { firstName } = participantData.participant;

  return <AccountManagement userFirstName={firstName} />;
}
