import ButtonLink from "@scandic-hotels/design-system/ButtonLink" import { MaterialIcon } from "@scandic-hotels/design-system/Icons/MaterialIcon" import MoneyHandEllipsisIcon from "@scandic-hotels/design-system/Icons/MoneyHandEllipsisIcon" import { Typography } from "@scandic-hotels/design-system/Typography" import { spendPoints } from "@/constants/webHrefs" import { getIntl } from "@/i18n" import { getLang } from "@/i18n/serverContext" import ExpiringPointsSeeAllButton from "./ExpiringPointsSeeAllButton" import { getExpiryLabel } from "./utils" import styles from "./PointsToSpendCard.module.css" import type { User } from "@scandic-hotels/trpc/types/user" interface PointsToSpendCardProps { user: User } export default async function PointsToSpendCard({ user, }: PointsToSpendCardProps) { const intl = await getIntl() const lang = await getLang() if (!user.membership) { return null } const spendablePoints = user.membership.currentPoints const hasPointsToSpend = spendablePoints > 0 const expiringPoints = user.membership.pointsToExpire const expiryDate = user.membership.pointsExpiryDate const expiryDateText = getExpiryLabel(expiryDate, intl, lang) return (
{!hasPointsToSpend && (

{intl.formatMessage({ id: "points.pointsToSpendCard.description", defaultMessage: "Earn points by staying at Scandic. Turn your points into free nights and memorable experiences.", })}

)} {expiringPoints && expiryDate && (

{expiryDateText}

{intl.formatMessage( { id: "points.pointsToSpendCard.expiringPointsText", defaultMessage: "{expiringPoints} points expiring", }, { expiringPoints: ( {intl.formatNumber(expiringPoints)} ), } )}

)}
) }