fix(LOY-88): expiration date is now not defaulted to todays date if it's missing, instead nothing is shown
This commit is contained in:
@@ -10,35 +10,43 @@ import Card from "./Card"
|
|||||||
|
|
||||||
import styles from "./surprises.module.css"
|
import styles from "./surprises.module.css"
|
||||||
|
|
||||||
|
import type { Dayjs } from "dayjs"
|
||||||
|
|
||||||
import type { SlideProps } from "@/types/components/blocks/surprises"
|
import type { SlideProps } from "@/types/components/blocks/surprises"
|
||||||
|
|
||||||
export default function Slide({ surprise }: SlideProps) {
|
export default function Slide({ surprise }: SlideProps) {
|
||||||
const lang = useLang()
|
const lang = useLang()
|
||||||
const intl = useIntl()
|
const intl = useIntl()
|
||||||
|
|
||||||
const earliestExpirationDate = surprise.coupons?.reduce(
|
const earliestExpirationDate = surprise.coupons
|
||||||
(earliestDate, coupon) => {
|
.map(({ expiresAt }) => expiresAt)
|
||||||
const expiresAt = dt(coupon.expiresAt)
|
.filter((expiresAt): expiresAt is string => !!expiresAt)
|
||||||
return earliestDate.isBefore(expiresAt) ? earliestDate : expiresAt
|
.reduce((earliestDate: Dayjs | null, expiresAt) => {
|
||||||
},
|
const expiresAtDate = dt(expiresAt)
|
||||||
dt()
|
if (!earliestDate) {
|
||||||
)
|
return expiresAtDate
|
||||||
|
}
|
||||||
|
|
||||||
|
return earliestDate.isBefore(expiresAtDate) ? earliestDate : expiresAtDate
|
||||||
|
}, null)
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Card title={surprise.label}>
|
<Card title={surprise.label}>
|
||||||
<Body textAlign="center">{surprise.description}</Body>
|
<Body textAlign="center">{surprise.description}</Body>
|
||||||
<div className={styles.badge}>
|
{earliestExpirationDate ? (
|
||||||
<Caption>
|
<div className={styles.badge}>
|
||||||
{intl.formatMessage(
|
<Caption>
|
||||||
{ id: "Valid through {expirationDate}" },
|
{intl.formatMessage(
|
||||||
{
|
{ id: "Valid through {expirationDate}" },
|
||||||
expirationDate: dt(earliestExpirationDate)
|
{
|
||||||
.locale(lang)
|
expirationDate: dt(earliestExpirationDate)
|
||||||
.format("D MMM YYYY"),
|
.locale(lang)
|
||||||
}
|
.format("D MMM YYYY"),
|
||||||
)}
|
}
|
||||||
</Caption>
|
)}
|
||||||
</div>
|
</Caption>
|
||||||
|
</div>
|
||||||
|
) : null}
|
||||||
</Card>
|
</Card>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user