import { Lock } from "react-feather" import { MembershipLevelEnum } from "@scandic-hotels/common/constants/membershipLevels" import Body from "@scandic-hotels/design-system/Body" import Title from "@scandic-hotels/design-system/Title" import { getMembershipLevel } from "@/lib/trpc/memoizedRequests" import { serverClient } from "@/lib/trpc/server" import SectionContainer from "@/components/Section/Container" import SectionHeader from "@/components/Section/Header" import SectionLink from "@/components/Section/Link" import Chip from "@/components/TempDesignSystem/Chip" import Grids from "@/components/TempDesignSystem/Grids" import { getIntl } from "@/i18n" import styles from "./next.module.css" import type { AccountPageComponentProps } from "@/types/components/myPages/myPage/accountPage" export default async function NextLevelRewardsBlock({ title, subtitle, link, }: AccountPageComponentProps) { const intl = await getIntl() const membershipLevel = await getMembershipLevel() if (!membershipLevel || !membershipLevel?.nextLevel) { return null } const caller = await serverClient() const nextLevelRewards = await caller.contentstack.rewards.byLevel({ level_id: MembershipLevelEnum[membershipLevel?.nextLevel], unique: true, }) // TODO: handle this case, when missing or when user is top level? if (!nextLevelRewards) { return null } return ( {nextLevelRewards.rewards.map((reward) => (
{intl.formatMessage({ defaultMessage: "Level up to unlock", })}
{intl.formatMessage( { defaultMessage: "As our {level}", }, { level: nextLevelRewards.level?.name } )} {reward.label}
))}
) }