import { GetChronologyItemsQuery } from "graphql/operations-types"; export type ChronologyItemComponentProps = { item: GetChronologyItemsQuery["chronologyItems"]["data"][number]; displayYear: boolean; }; export default function ChronologyItemComponent( props: ChronologyItemComponentProps ): JSX.Element { function generateAnchor(year: number, month: number, day: number): string { let result: string = ""; 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; } else { return year.toString(); } } function generateDate(month: number, day: number): string { let lut = [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", ]; let result: string = ""; if (month) { result += lut[month - 1]; if (day) { result += " " + day; } } return result; } return (
{generateYear( props.item.attributes.displayed_date, props.item.attributes.year )}
) : ( "" )}{generateDate(props.item.attributes.month, props.item.attributes.day)}
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 + ")" : "(WARNING: NO SOURCE!)"}