Feat/lokalise rebuild * chore(lokalise): update translation ids * chore(lokalise): easier to switch between projects * chore(lokalise): update translation ids * . * . * . * . * . * . * chore(lokalise): update translation ids * chore(lokalise): update translation ids * . * . * . * chore(lokalise): update translation ids * chore(lokalise): update translation ids * . * . * chore(lokalise): update translation ids * chore(lokalise): update translation ids * chore(lokalise): new translations * merge * switch to errors for missing id's * merge * sync translations Approved-by: Linus Flood
56 lines
1.4 KiB
TypeScript
56 lines
1.4 KiB
TypeScript
"use client"
|
|
|
|
import { useIntl } from "react-intl"
|
|
|
|
import { dt } from "@scandic-hotels/common/dt"
|
|
import Table from "@scandic-hotels/design-system/Table"
|
|
import { Typography } from "@scandic-hotels/design-system/Typography"
|
|
|
|
import useLang from "@/hooks/useLang"
|
|
|
|
import AwardPoints from "../../EarnAndBurn/AwardPoints"
|
|
|
|
export default function ExpiringPointsTable({
|
|
points,
|
|
expirationDate,
|
|
}: {
|
|
points: number
|
|
expirationDate: string
|
|
}) {
|
|
const intl = useIntl()
|
|
const lang = useLang()
|
|
const expiration = dt(expirationDate).locale(lang).format("DD MMM YYYY")
|
|
|
|
const tableHeadings = [
|
|
intl.formatMessage({ id: "common.points", defaultMessage: "Points" }),
|
|
intl.formatMessage({
|
|
id: "points.expiringPointsTable.expirationDate",
|
|
defaultMessage: "Expiration Date",
|
|
}),
|
|
]
|
|
|
|
return (
|
|
<Table>
|
|
<Table.THead>
|
|
<Table.TR>
|
|
{tableHeadings.map((heading) => (
|
|
<Table.TH key={heading}>
|
|
<Typography variant="Body/Paragraph/mdBold">
|
|
<p>{heading}</p>
|
|
</Typography>
|
|
</Table.TH>
|
|
))}
|
|
</Table.TR>
|
|
</Table.THead>
|
|
<Table.TBody>
|
|
<Table.TR>
|
|
<Table.TD>
|
|
<AwardPoints awardPoints={points} isCalculated isExpiringPoints />
|
|
</Table.TD>
|
|
<Table.TD>{expiration}</Table.TD>
|
|
</Table.TR>
|
|
</Table.TBody>
|
|
</Table>
|
|
)
|
|
}
|