Expose externally

This commit is contained in:
2026-06-19 10:20:15 -04:00
parent 58a6a8acce
commit b8d7cdddcd
3 changed files with 26 additions and 13 deletions
+12 -7
View File
@@ -16,18 +16,23 @@ function resolveEventImageSource(realimage: EventItem['realimage']): string | nu
const candidate = typeof realimage === 'string' ? realimage : realimage.id;
if (!candidate) return null;
if (candidate.startsWith('http://') || candidate.startsWith('https://') || candidate.startsWith('/')) {
return candidate;
}
const configuredPublicUrl = process.env.DIRECTUS_PUBLIC_URL;
const configuredDirectusPublicUrl = process.env.DIRECTUS_PUBLIC_URL;
const directusPort = process.env.DIRECTUS_PORT ?? '8066';
const localFallbackUrl = `${Astro.url.protocol}//${Astro.url.hostname}:${directusPort}`;
const directusBaseUrl =
configuredPublicUrl && !configuredPublicUrl.includes('example.com')
? configuredPublicUrl
configuredDirectusPublicUrl && !configuredDirectusPublicUrl.includes('example.com')
? configuredDirectusPublicUrl
: localFallbackUrl;
if (candidate.startsWith('/')) {
return new URL(candidate, directusBaseUrl).toString();
}
if (candidate.startsWith('http://') || candidate.startsWith('https://')) {
const candidateUrl = new URL(candidate);
return candidateUrl.pathname.startsWith('/assets/') ? new URL(candidateUrl.pathname, directusBaseUrl).toString() : candidate;
}
return new URL(`/assets/${candidate}`, directusBaseUrl).toString();
}