Feat/LOY-391 my points transactions table design * feat(LOY-391): Added new design to point transaction table * fix(LOY-391): rebase fix * fix(LOY-391): fix * fix(LOY-391): fix * fix(LOY-391): fixed sticky header etc. * feat(LOY-391): added focus on the newest loaded item in the list * fix(LOY-391): cleaned up * fix(LOY-391): style fix * fix(LOY-391): fixed PR-comments, types, removed the old files for earn and burn table * fix(LOY-391): fixed PR-comments * feat(LOY-391): added useCallback so scrolling is avoided when clicking see all on expiring points Approved-by: Anton Gunnarsson Approved-by: Matilda Landström
60 lines
1.5 KiB
TypeScript
60 lines
1.5 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 "../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>
|
|
<Typography variant="Body/Paragraph/mdRegular">
|
|
<p>{expiration}</p>
|
|
</Typography>
|
|
</Table.TD>
|
|
</Table.TR>
|
|
</Table.TBody>
|
|
</Table>
|
|
)
|
|
}
|