// Image utility functions import { API_BASE_URL } from './config/api'; export const FALLBACK_IMAGES = { BLOG: '/images/blog/blog-poster.png', CASE_STUDY: '/images/case/poster.png', SERVICE: '/images/service/thumb-one.png', GALLERY: '/images/masonry/one.png', BANNER: '/images/banner/banner-bg.png', DEFAULT: '/images/logo.png' }; export function getValidImageUrl(imageUrl?: string, fallback?: string): string { if (!imageUrl || imageUrl.trim() === '') { return fallback || FALLBACK_IMAGES.DEFAULT; } // If it's already a full URL, return as is if (imageUrl.startsWith('http://') || imageUrl.startsWith('https://')) { return imageUrl; } // If it starts with /media/, it's a Django media file - prepend API base URL if (imageUrl.startsWith('/media/')) { return `${API_BASE_URL}${imageUrl}`; } // If it starts with /images/, it's a local public file if (imageUrl.startsWith('/images/')) { return imageUrl; } // If it starts with /, check if it's a media file if (imageUrl.startsWith('/')) { // If it contains /media/, prepend API base URL if (imageUrl.includes('/media/')) { return `${API_BASE_URL}${imageUrl}`; } return imageUrl; } // Otherwise, assume it's a public path and add / return `/${imageUrl}`; } // Alias for backward compatibility export const getImageUrl = getValidImageUrl; export function getImageAlt(title?: string, fallback: string = 'Image'): string { return title ? `${title} - Image` : fallback; } // Export getValidImageAlt as an alias for getImageAlt for backward compatibility export const getValidImageAlt = getImageAlt;