UNPKG

@paroicms/server

Version:
31 lines 1.43 kB
import { getHandleOfField } from "../common/media-handles.helpers.js"; import { getFeaturedImageOf } from "../rendered-site/helpers/medias.helpers.js"; export async function loadDefaultImage(renderingContext, options) { const { fieldTypes, nodeId, language } = options; const featuredImage = await getFeaturedImageOf(renderingContext, { nodeId, }); return featuredImage ?? (await getFirstImage(renderingContext, { nodeId, fieldTypes, language })); } async function getFirstImage(renderingContext, { nodeId, fieldTypes, language, }) { const { siteContext, withAttachedData } = renderingContext; const selectedFields = []; for (const f of fieldTypes ?? []) { const { storedAs, withGallery, useAsDefaultImage } = f; if ((storedAs !== "mediaHandle" && !withGallery) || useAsDefaultImage === undefined) { continue; } selectedFields.push({ f, useAsDefaultImage }); } const orderedFieldTypes = selectedFields.sort((a, b) => a.useAsDefaultImage - b.useAsDefaultImage); for (const item of orderedFieldTypes) { const handle = getHandleOfField(siteContext, { nodeId, fieldType: item.f, language }); const firstImage = await siteContext.mediaStorage.getFirstImage({ handle, withAttachedData, }); if (firstImage) return firstImage; } } //# sourceMappingURL=load-default-image.js.map