import { getElementById } from "domutils";
import getEventById from "services/helpers/getEventById";
import getEventMediaById from "services/helpers/getEventMediaById";
const getPagesComponents = (components) => {
components
? components.map(async (component) => {
switch (component.acf_fc_layout) {
case "slider":
switch (component.content_type) {
case "events":
const eventQuery = component.events.map(async (e) => await getEventById(component.content_type, e.ID));
const eventsResults = await Promise.all(eventQuery);
const finalEvents = eventsResults.map((x) => {
return { title: x.title.rendered, author: x.excerpt };
});
const mediaQuery = component.events.map(
async (e, index) => await getEventMediaById("media", eventsResults[index].featured_media)
);
const mediaResults = await Promise.all(mediaQuery);
const finalMedia = mediaResults.map((x) => {
return { mediaDetails: x.media_details.sizes.full.source_url };
});
const finalResults = finalEvents.map((e, index) => ({
...e,
image: { src: finalMedia[index].mediaDetails },
}));
console.log("End result: ", finalResults[0], finalResults[1]);
}
break;
}
})
: console.log("Component data not loading");
return;
};
export default getPagesComponents;