Files
Emma Zettervall 5af64ef896 Merged in feat/LOY-391-my-points-transactions-table-design (pull request #3415)
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
2026-01-20 08:41:09 +00:00

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>
)
}