Display remaining budget

Replaced savings with remaining budget and indicated budget overruns.
This commit is contained in:
gpt-engineer-app[bot]
2025-03-17 12:43:11 +00:00
parent 3fb90343b2
commit 3ba935151f

View File

@@ -16,6 +16,10 @@ const SummaryCards: React.FC<SummaryCardsProps> = ({
savingsPercentage savingsPercentage
}) => { }) => {
const isMobile = useIsMobile(); const isMobile = useIsMobile();
// 남은 예산 계산
const remainingBudget = totalBudget - totalExpense;
const isOverBudget = remainingBudget < 0;
return ( return (
<div className={`grid ${isMobile ? 'grid-cols-1' : 'grid-cols-3'} gap-3 mb-8 w-full desktop-card`}> <div className={`grid ${isMobile ? 'grid-cols-1' : 'grid-cols-3'} gap-3 mb-8 w-full desktop-card`}>
@@ -40,11 +44,17 @@ const SummaryCards: React.FC<SummaryCardsProps> = ({
<div className="neuro-card w-full"> <div className="neuro-card w-full">
<div className="flex items-center gap-2 mb-1 py-[5px]"> <div className="flex items-center gap-2 mb-1 py-[5px]">
<PiggyBank size={24} className="text-gray-500" /> <PiggyBank size={24} className="text-gray-500" />
<p className="text-gray-500 text-base"></p> <p className="text-gray-500 text-base"> </p>
</div> </div>
<p className="text-sm font-bold text-neuro-income"> {isOverBudget ? (
{savingsPercentage}% <p className="text-sm font-bold text-red-500">
</p> : {formatCurrency(Math.abs(remainingBudget))}
</p>
) : (
<p className="text-sm font-bold text-neuro-income">
{formatCurrency(remainingBudget)}
</p>
)}
</div> </div>
</div> </div>
); );