--- import { getImage } from 'astro:assets'; import { readSingleton } from '@directus/sdk'; import directus from '@lib/directus'; import brandSrc from '@images/brand_logo.png'; import faviconSvgSrc from '@images/favicon_icon.svg'; import faviconSrc from '@images/favicon_icon.png'; import { SEO } from '@/config'; interface Props { title: string; description: string; ogImage?: any; ogTitle?: string; ogDescription?: string; structuredData?: object; } const canonicalURL = Astro.url.href; let { title, description, ogImage, ogTitle = title, ogDescription = description, structuredData = SEO.structuredData, } = Astro.props; let card = 'summary_large_image'; if (!ogImage) { ogImage = brandSrc; card = 'summary'; } const global = await directus.request(readSingleton('site_global')); const faviconSvg = await getImage({ src: faviconSvgSrc, format: 'svg' }); const appleTouchIcon = await getImage({ src: faviconSrc, width: 180, height: 180, format: 'png' }); const socialImageRes = await getImage({ src: ogImage, width: 1200, height: 600 }); let socialImage = socialImageRes.src; if (!socialImage.startsWith('http')) { socialImage = Astro.url.origin + socialImageRes.src; } --- { structuredData &&