import classNames from "classnames"; import { DateTime } from "luxon"; import { useTranslation } from "next-i18next"; import { useState } from "react"; import { IoMdCheckmarkCircleOutline } from "react-icons/io"; export default function Event({ event, colorVariants, showDate = false, showTime = false, showDateColumn = true }) { const [hover, setHover] = useState(false); const { i18n } = useTranslation(); const children = ( <> {showDateColumn && ( {(showDate || showTime) && event.date .setLocale(i18n.language) .toLocaleString(showTime ? DateTime.TIME_24_SIMPLE : { month: "short", day: "numeric" })} )}
{hover && event.additional ? event.additional : event.title}
{event.isCompleted && ( )} ); const className = "flex flex-row text-theme-700 dark:text-theme-200 items-center text-xs relative h-5 w-full rounded-md bg-theme-200/50 dark:bg-theme-900/20 mt-1"; const key = `event-${event.title}-${event.date}-${event.additional}`; return event.url ? ( setHover(!hover)} onMouseLeave={() => setHover(!hover)} key={key} href={event.url} target="_blank" rel="noopener noreferrer" > {children} ) : (
setHover(!hover)} onMouseLeave={() => setHover(!hover)} key={key}> {children}
); } export const compareDateTimezone = (date, event) => date.startOf("day").toISODate() === event.date.startOf("day").toISODate();