Untitled
unknown
javascript
3 years ago
1.3 kB
10
Indexable
import Events from "@/components/content/Events"; import PropTypes from "prop-types"; import getEventById from "services/helpers/getEventById"; import wordpress from ".."; const getContentBySlug = async (contentType, slug) => { try { let { data } = await wordpress.get(`${contentType}`, { params: { slug: slug, _fields: `title,slug,acf,id,type`, per_page: 1, }, }); [data] = data; if (!data.acf.content) { console.error("Component data not loading"); return; } // Retain original page data whilst changing that pages' content const results = data.acf.content.map((component) => { if (component.events) { let result = component.events.map((event, i, arr) => getEventById("events", event.ID).then((response) => (arr[i] = response)) ); return result; } return component; }); data.acf.content = results; return data; } catch (err) { console.error(`Failed to get ${contentType}: `, err); } }; export default getContentBySlug; getContentBySlug.propTypes = { contentType: PropTypes.string, slug: PropTypes.string.isRequired, }; getContentBySlug.defaultProps = { contentType: "pages", slug: "home", };
Editor is loading...