الملفات
back_end_oudelaa/oudelaa_dashboard/lib/media-url.ts
boutmoun123 8863f61d00
فشلت بعض الفحوصات
Deploy To Ghaymah / deploy (push) Has been cancelled
Add Oudelaa dashboard API integration
2026-05-25 20:36:52 +03:00

38 أسطر
681 B
TypeScript

const API_BASE_URL = process.env.NEXT_PUBLIC_API_BASE_URL ?? process.env.API_BASE_URL ?? "";
function getApiOrigin() {
try {
return new URL(API_BASE_URL).origin;
} catch {
return "";
}
}
export function resolveMediaUrl(value?: string | null) {
const url = value?.trim() ?? "";
if (!url) {
return "";
}
if (
/^[a-z][a-z0-9+.-]*:\/\//i.test(url) ||
url.startsWith("//") ||
url.startsWith("data:") ||
url.startsWith("blob:")
) {
return url;
}
const origin = getApiOrigin();
if (!origin) {
return url;
}
if (url.startsWith("/")) {
return `${origin}${url}`;
}
return `${origin}/${url.replace(/^\/+/, "")}`;
}