import Link from "next/link"; import { DateTime } from "luxon"; import { ShowOrHide, ReadableList, Person, Name, DateRange, } from "../components/Snippets"; import { generateDisplayDate, generateRealtimeDate, formatDate, formatTime, formatTimeZone, } from "../lib/lib"; // JAL(2021.9.13) Couldn't quite get this to work properly. There's a trailing // "and" // // function GuestList({ guests, textClass }) { // const renderGuests = guests?.length > 2 ? guests?.slice(0,2) : guests; // const noRenderGuestsCount = guests?.slice(2).length; // return ( //

// // {renderGuests?.length > 1 ? "With guests " : "With guest "} // // // {renderGuests?.map((guest, index) => ( // <> // // {renderGuests?.length > 1 ? , : <>} // // ))} // {noRenderGuestsCount > 1 ? // {noRenderGuestsCount} more // : // <> // } // //

// ); // } export default function EventPreview({ event, className, big }) { // Event tiles have a 'dark mode' used when their background images are dark and white text is needed for legibility. const grayText = event?.dark ? "text-washedWhite" : "text-wall-400"; const blackText = event?.dark ? "text-white" : "text-wall-600"; const starts = generateDisplayDate(event.starts, event.timezone); const ends = generateDisplayDate(event.ends, event.timezone); const inFuture = generateRealtimeDate(starts) > DateTime.now(); const happeningNow = generateRealtimeDate(event.starts) > DateTime.now() && !inFuture; return (

{event.title}

{event.description}

{event.location}

{inFuture && event.registration_url ? (
e.stopPropagation()} target="_blank" > RSVP
) : event.youtube ? (
e.stopPropagation()} target="_blank" > ▶ Watch
) : null}
); }