/** * Logo utilities * * Consolidated from: * - /lib/logo.ts (utility functions) */ /** * Normalizes logo path to get just the filename * @param logo - Logo path or URL * @returns Filename only */ export const normalizeLogo = (logo?: string | null) => logo?.split("/").filter(Boolean).pop() ?? ""; /** * Derives a display name from a logo filename * @param logo - Logo path or filename * @returns Formatted display name * @example * deriveNameFromLogo("my-company-logo.png") // "My Company Logo" */ export const deriveNameFromLogo = (logo?: string | null) => { if (!logo) { return ""; } const fileName = normalizeLogo(logo); if (!fileName) { return ""; } const withoutExtension = fileName.replace(/\.[^/.]+$/, ""); return withoutExtension .split(/[-_.\s]+/) .filter(Boolean) .map((part) => part.charAt(0).toUpperCase() + part.slice(1).toLowerCase()) .join(" "); };