mirror of
https://github.com/felipegcoutinho/openmonetis.git
synced 2026-05-09 19:01:47 +00:00
refactor(core): centraliza hooks, providers e base compartilhada
This commit is contained in:
45
lib/cartoes/brand-assets.ts
Normal file
45
lib/cartoes/brand-assets.ts
Normal 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;
|
||||
};
|
||||
7
lib/cartoes/constants.ts
Normal file
7
lib/cartoes/constants.ts
Normal file
@@ -0,0 +1,7 @@
|
||||
export const DEFAULT_CARD_BRANDS = ["Visa", "Mastercard", "Elo"] as const;
|
||||
|
||||
export const DEFAULT_CARD_STATUS = ["Ativo", "Inativo"] as const;
|
||||
|
||||
export const DAYS_IN_MONTH = Array.from({ length: 31 }, (_, index) =>
|
||||
String(index + 1).padStart(2, "0"),
|
||||
);
|
||||
Reference in New Issue
Block a user