Fix weekly budget calculation

Ensure weekly budget is correctly calculated to derive monthly budget.
This commit is contained in:
gpt-engineer-app[bot]
2025-03-22 11:31:44 +00:00
parent 4f552632b7
commit f1e0a9c297
5 changed files with 41 additions and 25 deletions

View File

@@ -1,4 +1,3 @@
import React, { useState, useEffect } from 'react';
import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs';
import { Input } from '@/components/ui/input';
@@ -80,6 +79,12 @@ const BudgetInputCard: React.FC<BudgetGoalProps> = ({
}
console.log(`BudgetInputCard - 저장 버튼 클릭: ${selectedTab} 예산 = ${amount}`);
// 주간 탭에서 월간 예산으로 동기화하는 경우
if (selectedTab === 'weekly') {
console.log(`주간 탭에서 설정된 ${amount}원을 월간 예산으로 직접 설정`);
}
// 예산 저장
onSave(selectedTab, amount);
};

View File

@@ -75,6 +75,13 @@ const BudgetProgressCard: React.FC<BudgetProgressCardProps> = ({
weekly: budgetData.weekly.targetAmount,
monthly: budgetData.monthly.targetAmount
});
// 주간 탭과 월간 탭은 동일하게 처리 (주간 탭을 선택해도 월간 탭으로 유도)
if (value === 'weekly') {
console.log("주간 탭 선택을 월간 탭으로 변경");
value = 'monthly';
}
setSelectedTab(value);
};
@@ -95,18 +102,18 @@ const BudgetProgressCard: React.FC<BudgetProgressCardProps> = ({
>
</TabsTrigger>
<TabsTrigger
value="weekly"
className="data-[state=active]:shadow-[inset_4px_4px_8px_rgba(209,217,230,0.9),inset_-4px_-4px_8px_rgba(255,255,255,0.9)] data-[state=active]:bg-transparent data-[state=active]:font-medium transition-all duration-200"
>
</TabsTrigger>
<TabsTrigger
value="monthly"
className="data-[state=active]:shadow-[inset_4px_4px_8px_rgba(209,217,230,0.9),inset_-4px_-4px_8px_rgba(255,255,255,0.9)] data-[state=active]:bg-transparent data-[state=active]:font-medium transition-all duration-200"
>
</TabsTrigger>
<TabsTrigger
value="weekly"
className="data-[state=active]:shadow-[inset_4px_4px_8px_rgba(209,217,230,0.9),inset_-4px_-4px_8px_rgba(255,255,255,0.9)] data-[state=active]:bg-transparent data-[state=active]:font-medium transition-all duration-200"
>
</TabsTrigger>
</TabsList>
<div className="text-sm text-gray-600 mb-2 px-1"> / </div>