Back

Version 45

9/10/2023
type Line = {
dateStr: string;
menuStr: string;
date: {
type: "header" | "Daily Offerings" | "date";
date: Date;
prefix: string;
suffix: string;
};
menu: {
items: string[];
};
};
type Context = {
menuType: keyof typeof @tal.DOEMenuTypes;
dailyOfferings?: Line;
};
async function calendarItemForLine(context: Context, line: Line) {
const menuType = @tal.DOEMenuTypes[context.menuType];
if (line.date.type == "date") {
const fullMenu = @tal.formatMenuLines(line.menu.items);
const descriptionLines: string[] = [
`*${line.date.suffix} Menu*`,
`${menuType.title} for ${line.date.prefix}`,
"\n",
...fullMenu,
];
if (context.dailyOfferings) {
const dailyOfferingItems = @tal.formatMenuLines(
context.dailyOfferings.menu.items,
);
if (dailyOfferingItems.length > 0) {
descriptionLines.push("\n*Daily Offerings*\n");
descriptionLines.concat(dailyOfferingItems);
}
}
Updated: October 23, 2023