|
- import { BASE_PATH } from './config';
-
- // Prefissa con BASE_PATH gli URL assoluti gestiti a mano (fetch, src, href, font url).
- // Next applica basePath solo a next/link/router/image e agli asset _next/ — non alle
- // stringhe URL scritte a mano. Gli URL salvati in data/ restano senza prefisso
- // (portabili tra macchine con basePath diverso); il prefisso si aggiunge solo qui, al render.
- export function withBasePath(p?: string | null): string {
- if (!p) return p ?? '';
- if (!BASE_PATH) return p;
- if (/^(https?:|data:|blob:|mailto:|tel:)/i.test(p)) return p; // URL esterni/non-path
- if (!p.startsWith('/')) return p; // path relativi: invariati
- if (p === BASE_PATH || p.startsWith(BASE_PATH + '/')) return p; // già prefissato (idempotente)
- return `${BASE_PATH}${p}`;
- }
|