Refactor getUpcomingEvents()
This commit is contained in:
parent
7f64aadebc
commit
cb3408990d
|
@ -70,37 +70,32 @@ export async function getUpcomingEvents(): Promise<Event[]> {
|
||||||
const nextYear = currentTerm < 2 ? currentYear : currentYear + 1;
|
const nextYear = currentTerm < 2 ? currentYear : currentYear + 1;
|
||||||
const nextTerm = (currentTerm + 1) % 3;
|
const nextTerm = (currentTerm + 1) % 3;
|
||||||
|
|
||||||
let currentEvents: Event[] = [];
|
const events: Event[] = (
|
||||||
try {
|
await Promise.all(
|
||||||
currentEvents = await Promise.all(
|
[
|
||||||
(
|
{ year: currentYear, term: currentTerm },
|
||||||
await getEventsByTerm(currentYear.toString(), TERMS[currentTerm])
|
{ year: nextYear, term: nextTerm },
|
||||||
).map(
|
].map(async ({ year, term }) => {
|
||||||
async (slug) =>
|
try {
|
||||||
await getEventBySlug(currentYear.toString(), TERMS[currentTerm], slug)
|
const eventsInTerm = await getEventsByTerm(
|
||||||
)
|
year.toString(),
|
||||||
);
|
TERMS[term]
|
||||||
} catch (error) {
|
);
|
||||||
currentEvents = [];
|
return await Promise.all(
|
||||||
}
|
eventsInTerm.map(
|
||||||
let nextEvents: Event[] = [];
|
async (slug) =>
|
||||||
try {
|
await getEventBySlug(year.toString(), TERMS[term], slug)
|
||||||
nextEvents = await Promise.all(
|
)
|
||||||
(
|
);
|
||||||
await getEventsByTerm(nextYear.toString(), TERMS[nextTerm])
|
} catch (error) {
|
||||||
).map(
|
return [];
|
||||||
async (slug) =>
|
}
|
||||||
await getEventBySlug(nextYear.toString(), TERMS[nextTerm], slug)
|
})
|
||||||
)
|
)
|
||||||
);
|
).flat();
|
||||||
} catch (error) {
|
|
||||||
nextEvents = [];
|
return events
|
||||||
}
|
.filter((ev) => new Date(ev.metadata.date).getTime() > Date.now())
|
||||||
return currentEvents
|
|
||||||
.concat(nextEvents)
|
|
||||||
.filter((ev) => {
|
|
||||||
return new Date(ev.metadata.date).getTime() > Date.now();
|
|
||||||
})
|
|
||||||
.sort((a, b) => {
|
.sort((a, b) => {
|
||||||
return (
|
return (
|
||||||
new Date(a.metadata.date).getTime() -
|
new Date(a.metadata.date).getTime() -
|
||||||
|
|
Loading…
Reference in New Issue