/** * Formats a rating number to a string with one decimal place. * Example: 4.8123 -> "4.8" */ export const formatRating = (rating: number): string => { return rating.toFixed(1); }; /** * Returns initials from a full name. * Example: "Sarah Jenkins" -> "S" */ export const getInitials = (name: string): string => { return name.charAt(0).toUpperCase(); }; import { ENV } from '../config/env'; /** * Returns a full URL for an image path. */ export const getImageUrl = (path?: string | null): string | undefined => { if (!path) return undefined; if (path.startsWith('http://') || path.startsWith('https://') || path.startsWith('file://') || path.startsWith('content://') || path.startsWith('data:')) { return path; } const baseUrl = ENV.API_BASE_URL.endsWith('/') ? ENV.API_BASE_URL.slice(0, -1) : ENV.API_BASE_URL; const imagePath = path.startsWith('/') ? path : `/${path}`; return `${baseUrl}${imagePath}`; };