import Chip from "components/Chip"; import ToolTip from "components/ToolTip"; import { Enum_Componenttranslationschronologyitem_Status, GetChronologyItemsQuery, GetWebsiteInterfaceQuery, } from "graphql/operations-types"; import { getStatusDescription } from "queries/helpers"; export type ChronologyItemComponentProps = { item: GetChronologyItemsQuery["chronologyItems"]["data"][number]; displayYear: boolean; langui: GetWebsiteInterfaceQuery["websiteInterfaces"]["data"][number]["attributes"]; }; export default function ChronologyItemComponent( props: ChronologyItemComponentProps ): JSX.Element { const { langui } = props; function generateAnchor(year: number, month: number, day: number): string { let result = ""; result += year; if (month) result += `- ${month.toString().padStart(2, "0")}`; if (day) result += `- ${day.toString().padStart(2, "0")}`; return result; } function generateYear(displayed_date: string, year: number): string { if (displayed_date) { return displayed_date; } return year.toString(); } function generateDate(month: number, day: number): string { const lut = [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", ]; let result = ""; if (month) { result += lut[month - 1]; if (day) { result += ` ${day}`; } } return result; } return (
{props.displayYear && (

{generateYear( props.item.attributes.displayed_date, props.item.attributes.year )}

)}

{generateDate(props.item.attributes.month, props.item.attributes.day)}

{props.item.attributes.events.map((event) => (
{event.translations.map((translation) => ( <>
{translation.status !== Enum_Componenttranslationschronologyitem_Status.Done && ( {translation.status} )} {translation.title ?

{translation.title}

: ""}
{translation.description && (

1 ? "before:content-['-'] before:text-dark before:inline-block before:w-4 before:ml-[-1em] mt-2 whitespace-pre-line" : "whitespace-pre-line" } > {translation.description}

)} {translation.note ? ( {`Notes: ${translation.note}`} ) : ( "" )} ))}

{event.source.data ? ( `(${event.source.data.attributes.name})` ) : ( <> warningNo sources! )}

))}
); }