photo_server_json_flutter_c.../public/js/config.js
2026-02-26 11:48:04 +01:00

45 lines
1.2 KiB
JavaScript

// ===============================
// CONFIG DINAMICA DAL SERVER
// ===============================
window.BASE_URL = null;
window.PHOTOS_URL = null;
window.MEDIA_BASE_ORIGIN = null;
window.configReady = false;
// Carica /config dal backend
(async () => {
try {
const res = await fetch('/config');
const cfg = await res.json();
window.BASE_URL = cfg.baseUrl;
window.PHOTOS_URL = `${window.BASE_URL}/photos`;
window.MEDIA_BASE_ORIGIN = new URL(window.PHOTOS_URL).origin;
console.log("[config] BASE_URL:", window.BASE_URL);
console.log("[config] PHOTOS_URL:", window.PHOTOS_URL);
console.log("[config] MEDIA_BASE_ORIGIN:", window.MEDIA_BASE_ORIGIN);
window.configReady = true;
} catch (err) {
console.error("[config] Errore nel caricamento della config:", err);
}
})();
// ===============================
// Utility: normalizza URL dei media
// ===============================
function toAbsoluteUrl(pathOrUrl) {
if (!pathOrUrl) return '';
if (/^https?:\/\//i.test(pathOrUrl)) return pathOrUrl;
const normalized = pathOrUrl.startsWith('/') ? pathOrUrl : `/${pathOrUrl}`;
return `${window.MEDIA_BASE_ORIGIN}${normalized}`;
}
window.toAbsoluteUrl = toAbsoluteUrl;