fix: FIFO queue for waitlisting; send email for application form; EU logo in contact page in light mode
This commit is contained in:
@@ -114,6 +114,7 @@ export interface EventCardData {
|
||||
/** Name of the related region entry, not a free-text string. */
|
||||
readonly region?: string;
|
||||
readonly registrationStatus: EventRegistrationStatus;
|
||||
readonly registrationDeadline?: string;
|
||||
readonly timeStatus: EventTimeStatus;
|
||||
/** Set on a past event that has a write-up - drives the "Read recap" label. */
|
||||
readonly recapUrl?: string;
|
||||
@@ -126,7 +127,6 @@ export interface EventDetailData extends EventCardData {
|
||||
/** The long body. There is no external registration portal field in the CMS. */
|
||||
readonly description?: CmsRichText;
|
||||
readonly onlineUrl?: string;
|
||||
readonly registrationDeadline?: string;
|
||||
readonly venue?: string;
|
||||
/** Editorial: the CMS offers a waitlist once the event is full. */
|
||||
readonly waitlistEnabled: boolean;
|
||||
@@ -330,8 +330,16 @@ export function collectRegions(
|
||||
* reader simply turns up, so there is nothing to submit; "closed" speaks for
|
||||
* itself; "full" and "waitlist" still take names for the waiting list.
|
||||
*/
|
||||
export function isRegistrationOpen(event: EventCardData): boolean {
|
||||
export function isRegistrationOpen(
|
||||
event: EventCardData,
|
||||
now = Date.now(),
|
||||
): boolean {
|
||||
const deadline = event.registrationDeadline
|
||||
? Date.parse(event.registrationDeadline)
|
||||
: undefined;
|
||||
|
||||
return (
|
||||
(deadline === undefined || (Number.isFinite(deadline) && now < deadline)) &&
|
||||
event.timeStatus !== "completed" &&
|
||||
(event.registrationStatus === "open" ||
|
||||
event.registrationStatus === "full" ||
|
||||
|
||||
Reference in New Issue
Block a user