mirror of
https://github.com/felipegcoutinho/openmonetis.git
synced 2026-05-09 02:51:46 +00:00
46 lines
1.2 KiB
TypeScript
46 lines
1.2 KiB
TypeScript
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;
|
|
};
|