refactor(core): centraliza hooks, providers e base compartilhada

This commit is contained in:
Felipe Coutinho
2026-03-09 17:11:55 +00:00
parent 2de5101058
commit 3e06a1d056
76 changed files with 3271 additions and 709 deletions

View File

@@ -0,0 +1,45 @@
const CARD_BRAND_ASSET_BY_KEY = {
visa: "/bandeiras/visa.svg",
mastercard: "/bandeiras/mastercard.svg",
amex: "/bandeiras/amex.svg",
american: "/bandeiras/amex.svg",
elo: "/bandeiras/elo.svg",
hipercard: "/bandeiras/hipercard.svg",
hiper: "/bandeiras/hipercard.svg",
} as const;
const CARD_BRAND_LOGO_BY_KEY = {
visa: "/logos/visa.png",
mastercard: "/logos/mastercard.png",
amex: "/logos/amex.png",
american: "/logos/amex.png",
elo: "/logos/elo.png",
hipercard: "/logos/hipercard.png",
hiper: "/logos/hipercard.png",
} as const;
const findMatchingCardBrandKey = (brand?: string | null) => {
if (!brand) {
return null;
}
const normalizedBrand = brand.trim().toLowerCase();
return (
(
Object.keys(CARD_BRAND_ASSET_BY_KEY) as Array<
keyof typeof CARD_BRAND_ASSET_BY_KEY
>
).find((key) => normalizedBrand.includes(key)) ?? null
);
};
export const resolveCardBrandAsset = (brand?: string | null) => {
const key = findMatchingCardBrandKey(brand);
return key ? CARD_BRAND_ASSET_BY_KEY[key] : null;
};
export const resolveCardBrandLogoSrc = (brand?: string | null) => {
const key = findMatchingCardBrandKey(brand);
return key ? CARD_BRAND_LOGO_BY_KEY[key] : null;
};