/// import { computed, NAME, pattern, UI, type VNode, wish } from "commontools"; // ===== Types ===== type EventListInput = Record; type Event = { title: string; date: string; time: string; notes: string; }; type EventListOutput = { [NAME]: string; [UI]: VNode; events: Event[]; }; // ===== Pattern ===== const EventList = pattern(() => { const events = wish({ query: "#event", scope: [".", "~"] }); return { [NAME]: computed(() => events.candidates?.length ? `Events: ${events.candidates?.length}` : "Events" ), [UI]: ( {events.candidates.map((event) => ( {event.title} 📅 {event.date} 🕐 {event.time} {event.notes && ( {event.notes} )} ))} ), events: events.candidates, }; }); export default EventList;