import { Lock } from "react-feather" import { MembershipLevelEnum } from "@scandic-hotels/common/constants/membershipLevels" import Body from "@scandic-hotels/design-system/Body" import Chip from "@scandic-hotels/design-system/Chip" import Title from "@scandic-hotels/design-system/Title" import { getMembershipLevel } from "@/lib/trpc/memoizedRequests" import { serverClient } from "@/lib/trpc/server" import { Section } from "@/components/Section" import SectionHeader from "@/components/Section/Header/Deprecated" import SectionLink from "@/components/Section/Link" 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({ id: "rewards.nextLevel.levelUpToUnlock", defaultMessage: "Level up to unlock", })}
{intl.formatMessage( { id: "rewards.nextLevel.asOurLevel", defaultMessage: "As our {level}", }, { level: nextLevelRewards.level?.name } )} {reward.label}
))}
) }