{data.categories.map((category) => {
const IconComponent = category.categoryIcon
? getIconComponent(category.categoryIcon)
: null;
const initials = buildInitials(category.categoryName);
const hasIncrease =
category.percentageChange !== null &&
category.percentageChange > 0;
const hasDecrease =
category.percentageChange !== null &&
category.percentageChange < 0;
const hasBudget = category.budgetAmount !== null;
const budgetExceeded =
hasBudget &&
category.budgetUsedPercentage !== null &&
category.budgetUsedPercentage > 100;
const exceededAmount =
budgetExceeded && category.budgetAmount
? category.currentAmount - category.budgetAmount
: 0;
return (
{IconComponent ? (
) : (
{initials}
)}
{category.categoryName}
{formatPercentage(category.percentageOfTotal)} da
despesa total
{category.percentageChange !== null && (
{hasIncrease && }
{hasDecrease && }
{formatPercentage(category.percentageChange)}
)}
{hasBudget && category.budgetUsedPercentage !== null && (
{budgetExceeded ? (
<>
{formatPercentage(category.budgetUsedPercentage)} do
limite - excedeu em {formatCurrency(exceededAmount)}
>
) : (
<>
{formatPercentage(category.budgetUsedPercentage)} do
limite
>
)}
)}
);
})}