mirror of
https://github.com/felipegcoutinho/openmonetis.git
synced 2026-06-09 23:06:01 +00:00
feat(logos): adiciona nomes de exibicao via dicionario e busca sem acentos
- Adiciona arquivo display-names.ts com 433 nomes legiveis (ex: bb.png → "Banco do Brasil") - Adiciona getLogoDisplayName() que consulta dicionario primeiro, com fallback para deriveNameFromLogo - Adiciona normalizeForSearch() para busca accent-insensitive - Atualiza account-dialog, card-dialog, logo-picker e use-logo-selection para usar a nova API Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -1,9 +1,34 @@
|
||||
import { logoDisplayNames } from "./display-names";
|
||||
|
||||
/**
|
||||
* Normalizes logo path to get just the filename
|
||||
*/
|
||||
export const normalizeLogo = (logo?: string | null) =>
|
||||
logo?.split("/").filter(Boolean).pop() ?? "";
|
||||
|
||||
/**
|
||||
* Normalizes a string for accent-insensitive search.
|
||||
* Removes diacritics and converts to lowercase.
|
||||
*/
|
||||
export const normalizeForSearch = (text: string): string =>
|
||||
text
|
||||
.toLowerCase()
|
||||
.normalize("NFD")
|
||||
.replace(/[\u0300-\u036f]/g, "");
|
||||
|
||||
/**
|
||||
* Gets the display name for a logo, using a manual dictionary first
|
||||
* and falling back to deriveNameFromLogo for unknown logos.
|
||||
*/
|
||||
export const getLogoDisplayName = (logo?: string | null): string => {
|
||||
if (!logo) return "";
|
||||
|
||||
const fileName = normalizeLogo(logo);
|
||||
if (!fileName) return "";
|
||||
|
||||
return logoDisplayNames[fileName.toLowerCase()] ?? deriveNameFromLogo(logo);
|
||||
};
|
||||
|
||||
/**
|
||||
* Derives a display name from a logo filename
|
||||
* @param logo - Logo path or filename
|
||||
|
||||
Reference in New Issue
Block a user