/** App path prefix for reverse-proxy deploys (e.g. `/ghabilee`). Empty at site root. */ const basePath = (process.env.NEXT_PUBLIC_BASE_PATH ?? '').replace(/\/+$/, '') /** * Prefix a root-absolute public asset path with `NEXT_PUBLIC_BASE_PATH`. * Next.js `` / `next/image` do this automatically; raw `` and * string constants do not. */ export const withBasePath = (path: string): string => { if (!path.startsWith('/') || path.startsWith('//')) return path if (!basePath) return path if (path === basePath || path.startsWith(`${basePath}/`)) return path return `${basePath}${path}` } export const DEFAULT_EVENT_IMAGE = withBasePath('/images/defaults/event-fallback-portrait.avif') export const DEFAULT_CATEGORY_IMAGE = withBasePath('/images/defaults/category-fallback.avif') export const DEFAULT_AVATAR_MALE = withBasePath('/images/placeholders/man-placeholder.webp') export const DEFAULT_AVATAR_FEMALE = withBasePath('/images/placeholders/woman-placeholder.webp') export const DEFAULT_AVATAR_OTHER = withBasePath('/images/placeholders/portrait.webp')