Fix budget display issue
Correctly display monthly budget amount.
This commit is contained in:
@@ -16,38 +16,21 @@ export const calculateUpdatedBudgetData = (
|
||||
prevBudgetData = getInitialBudgetData();
|
||||
}
|
||||
|
||||
// 선택된 타입에 따라 다른 타입의 예산도 자동으로 계산
|
||||
let monthlyAmount: number, weeklyAmount: number, dailyAmount: number;
|
||||
// 모든 계산은 월간 예산을 기준으로 합니다
|
||||
let monthlyAmount: number = amount;
|
||||
|
||||
if (type === 'monthly') {
|
||||
// 월간 예산이 직접 입력된 경우
|
||||
monthlyAmount = amount;
|
||||
// 월 30일 기준
|
||||
dailyAmount = Math.round(monthlyAmount / 30);
|
||||
// 월 4.3주 기준 (30일 / 7일)
|
||||
weeklyAmount = Math.round(monthlyAmount / 4.3);
|
||||
} else if (type === 'weekly') {
|
||||
// 주간 예산이 직접 입력된 경우
|
||||
weeklyAmount = amount;
|
||||
// 월 4.3주 기준 (30일 / 7일)
|
||||
monthlyAmount = Math.round(weeklyAmount * 4.3);
|
||||
// 주 7일 기준
|
||||
dailyAmount = Math.round(weeklyAmount / 7);
|
||||
} else { // 'daily'
|
||||
// 일일 예산이 직접 입력된 경우
|
||||
dailyAmount = amount;
|
||||
// 주 7일 기준
|
||||
weeklyAmount = Math.round(dailyAmount * 7);
|
||||
// 월 30일 기준
|
||||
monthlyAmount = Math.round(dailyAmount * 30);
|
||||
}
|
||||
// 월 30일 기준으로 일간 예산 계산
|
||||
let dailyAmount = Math.round(monthlyAmount / 30);
|
||||
|
||||
// 월 4.3주 기준으로 주간 예산 계산
|
||||
let weeklyAmount = Math.round(monthlyAmount / 4.3);
|
||||
|
||||
// 모든 금액이 최소한 0 이상이 되도록 보장
|
||||
monthlyAmount = Math.max(0, monthlyAmount);
|
||||
weeklyAmount = Math.max(0, weeklyAmount);
|
||||
dailyAmount = Math.max(0, dailyAmount);
|
||||
|
||||
console.log(`최종 예산 계산 결과: 월간=${monthlyAmount}원, 주간=${weeklyAmount}원, 일일=${dailyAmount}원`);
|
||||
console.log(`최종 예산 계산 결과(월간 기준): 월간=${monthlyAmount}원, 주간=${weeklyAmount}원, 일일=${dailyAmount}원`);
|
||||
|
||||
// 로그에 이전 예산 데이터 출력
|
||||
console.log("이전 예산 데이터:", JSON.stringify(prevBudgetData));
|
||||
|
||||
Reference in New Issue
Block a user