Fix budget update issue
Addresses an issue where budget updates were not being applied correctly.
This commit is contained in:
@@ -50,6 +50,7 @@ const BudgetProgressCard: React.FC<BudgetProgressCardProps> = ({
|
|||||||
// 컴포넌트 마운트 시 월간 탭을 기본으로 설정
|
// 컴포넌트 마운트 시 월간 탭을 기본으로 설정
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (selectedTab !== 'monthly') {
|
if (selectedTab !== 'monthly') {
|
||||||
|
console.log("탭을 monthly로 강제 설정");
|
||||||
setSelectedTab('monthly');
|
setSelectedTab('monthly');
|
||||||
}
|
}
|
||||||
}, []);
|
}, []);
|
||||||
@@ -112,7 +113,7 @@ const BudgetProgressCard: React.FC<BudgetProgressCardProps> = ({
|
|||||||
data={budgetData.daily}
|
data={budgetData.daily}
|
||||||
formatCurrency={formatCurrency}
|
formatCurrency={formatCurrency}
|
||||||
calculatePercentage={calculatePercentage}
|
calculatePercentage={calculatePercentage}
|
||||||
onSaveBudget={(amount, categoryBudgets) => onSaveBudget('daily', amount, categoryBudgets)}
|
onSaveBudget={(amount, categoryBudgets) => onSaveBudget('monthly', amount, categoryBudgets)}
|
||||||
/>
|
/>
|
||||||
</TabsContent>
|
</TabsContent>
|
||||||
|
|
||||||
@@ -121,7 +122,7 @@ const BudgetProgressCard: React.FC<BudgetProgressCardProps> = ({
|
|||||||
data={budgetData.weekly}
|
data={budgetData.weekly}
|
||||||
formatCurrency={formatCurrency}
|
formatCurrency={formatCurrency}
|
||||||
calculatePercentage={calculatePercentage}
|
calculatePercentage={calculatePercentage}
|
||||||
onSaveBudget={(amount, categoryBudgets) => onSaveBudget('weekly', amount, categoryBudgets)}
|
onSaveBudget={(amount, categoryBudgets) => onSaveBudget('monthly', amount, categoryBudgets)}
|
||||||
/>
|
/>
|
||||||
</TabsContent>
|
</TabsContent>
|
||||||
|
|
||||||
|
|||||||
@@ -51,7 +51,8 @@ const BudgetTabContent: React.FC<BudgetTabContentProps> = ({
|
|||||||
// 월간 예산 모드를 명시적으로 로깅
|
// 월간 예산 모드를 명시적으로 로깅
|
||||||
React.useEffect(() => {
|
React.useEffect(() => {
|
||||||
console.log('BudgetTabContent 렌더링: 월간 예산 모드');
|
console.log('BudgetTabContent 렌더링: 월간 예산 모드');
|
||||||
}, []);
|
console.log('현재 예산 데이터:', data);
|
||||||
|
}, [data]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
|
|||||||
@@ -17,10 +17,11 @@ export const useExtendedBudgetUpdate = (
|
|||||||
) => {
|
) => {
|
||||||
console.log('확장 예산 업데이트 시작:', type, amount, newCategoryBudgets);
|
console.log('확장 예산 업데이트 시작:', type, amount, newCategoryBudgets);
|
||||||
|
|
||||||
// 카테고리 예산 입력 폼에서 호출된 경우, type이 없으면 monthly로 설정
|
// 무조건 monthly로 설정 - 이게 핵심 수정 부분
|
||||||
const budgetType = type || 'monthly';
|
const budgetType = 'monthly';
|
||||||
|
|
||||||
// 기본 예산 목표 업데이트 - 항상 월간 예산 우선
|
// 이제 항상 월간 예산으로 업데이트
|
||||||
|
console.log(`예산 업데이트: 타입을 '${budgetType}'로 강제 변환, 금액=${amount}`);
|
||||||
handleBudgetUpdate(budgetType, amount);
|
handleBudgetUpdate(budgetType, amount);
|
||||||
|
|
||||||
// 카테고리 예산 업데이트 (제공된 경우)
|
// 카테고리 예산 업데이트 (제공된 경우)
|
||||||
|
|||||||
@@ -110,12 +110,13 @@ export const useBudgetTabContent = ({
|
|||||||
|
|
||||||
// 총액이 0이 아닐 때만 저장 처리
|
// 총액이 0이 아닐 때만 저장 처리
|
||||||
if (totalBudget > 0) {
|
if (totalBudget > 0) {
|
||||||
// 명시적으로 월간 예산으로 설정 - 'monthly' 타입으로 전달
|
// 명시적으로 월간 예산으로 설정 - 항상 월간 예산만 저장
|
||||||
onSaveBudget(totalBudget, updatedCategoryBudgets);
|
onSaveBudget(totalBudget, updatedCategoryBudgets);
|
||||||
setShowBudgetInput(false);
|
setShowBudgetInput(false);
|
||||||
|
|
||||||
// 이벤트 발생 추가 (데이터 저장 후 즉시 UI 업데이트를 위해)
|
// 이벤트 발생 추가 (데이터 저장 후 즉시 UI 업데이트를 위해)
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
|
console.log('예산 데이터 저장 후 이벤트 발생');
|
||||||
window.dispatchEvent(new Event('budgetDataUpdated'));
|
window.dispatchEvent(new Event('budgetDataUpdated'));
|
||||||
}, 200);
|
}, 200);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user