46 lines
1.2 KiB
JavaScript
46 lines
1.2 KiB
JavaScript
import Link from "next/link";
|
|
import useTranslation from "next-translate/useTranslation";
|
|
|
|
const isSameDay = (dateA, dateB) =>
|
|
dateA.getFullYear() === dateB.getFullYear() &&
|
|
dateA.getMonth() === dateB.getMonth() &&
|
|
dateA.getDate() === dateB.getDate();
|
|
|
|
const getLiveEvent = (detailsObj) => {
|
|
const events = detailsObj?.pinswg_sips_pinswg_sipsevent || [];
|
|
|
|
if (!Array.isArray(events) || events.length === 0) return null;
|
|
|
|
const now = new Date();
|
|
|
|
return events.find((event) => {
|
|
if (!event?.pinswg_dateeventrequested) return false;
|
|
|
|
const eventDate = new Date(event.pinswg_dateeventrequested);
|
|
|
|
return isSameDay(eventDate, now);
|
|
});
|
|
};
|
|
|
|
const LiveLink = ({ detailsObj }) => {
|
|
let { t } = useTranslation();
|
|
const liveEvent = getLiveEvent(detailsObj);
|
|
|
|
if (!liveEvent || !liveEvent.pinswg_linktotheevent) return null;
|
|
|
|
return (
|
|
<div className="govuk-!-margin-top-3">
|
|
<a
|
|
href={liveEvent.pinswg_linktotheevent}
|
|
className="govuk-link"
|
|
target="_blank"
|
|
rel="noopener noreferrer"
|
|
>
|
|
{t("case:live-event-link")}
|
|
</a>
|
|
</div>
|
|
);
|
|
};
|
|
|
|
export default LiveLink;
|