import { getProfile } from "@/lib/trpc/memoizedRequests"

import LevelProgressCard from "@/components/MyPages/LevelProgressCard"
import { Section } from "@/components/Section"
import SectionHeader from "@/components/Section/Header/Deprecated"
import SectionLink from "@/components/Section/Link"

import PointsToSpendCard from "../PointsToSpendCard"

import styles from "./overview.module.css"

import type { AccountPageComponentProps } from "@/types/components/myPages/myPage/accountPage"

export default async function PointsOverview({
  link,
  subtitle,
  title,
}: AccountPageComponentProps) {
  const user = await getProfile()
  if (!user || "error" in user) {
    return null
  }

  return (
    <Section>
      <SectionHeader
        link={link}
        preamble={subtitle}
        title={title}
        headingAs={"h3"}
        headingLevel={"h1"}
      />
      <div className={styles.membershipCardsContainer}>
        <PointsToSpendCard user={user} />
        <LevelProgressCard
          color="Surface/Brand/Primary 1/Default"
          user={user}
        />
      </div>
      <SectionLink link={link} variant="mobile" />
    </Section>
  )
}
