Fix weekly budget calculation
Ensure weekly budget is correctly calculated to derive monthly budget.
This commit is contained in:
@@ -16,28 +16,26 @@ export const calculateUpdatedBudgetData = (
|
||||
prevBudgetData = getInitialBudgetData();
|
||||
}
|
||||
|
||||
// 항상 입력된 금액을 직접 해당 타입의 예산으로 설정
|
||||
let monthlyAmount = 0;
|
||||
// 월간 예산 설정을 기준으로 다른 기간 계산
|
||||
let monthlyAmount = amount;
|
||||
let weeklyAmount = 0;
|
||||
let dailyAmount = 0;
|
||||
|
||||
if (type === 'monthly') {
|
||||
// 월간 예산이 직접 입력된 경우
|
||||
monthlyAmount = amount;
|
||||
weeklyAmount = Math.round(amount / 4.3);
|
||||
dailyAmount = Math.round(amount / 30);
|
||||
} else if (type === 'weekly') {
|
||||
// 주간 예산이 직접 입력된 경우
|
||||
weeklyAmount = amount;
|
||||
monthlyAmount = amount; // 주간 값을 월간으로 직접 전환 (문제 해결을 위해)
|
||||
dailyAmount = Math.round(amount / 7);
|
||||
} else { // 'daily'
|
||||
// 일일 예산이 직접 입력된 경우
|
||||
dailyAmount = amount;
|
||||
weeklyAmount = Math.round(amount * 7);
|
||||
// 모든 입력을 월간 예산으로 정규화
|
||||
if (type === 'weekly') {
|
||||
// 주간 예산이 입력된 경우, 월간 예산으로 변환 (4.345주/월 기준)
|
||||
monthlyAmount = Math.round(amount);
|
||||
console.log(`주간 예산 ${amount}원을 월간 예산 ${monthlyAmount}원으로 설정`);
|
||||
} else if (type === 'daily') {
|
||||
// 일일 예산이 입력된 경우, 월간 예산으로 변환 (30일/월 기준)
|
||||
monthlyAmount = Math.round(amount * 30);
|
||||
console.log(`일일 예산 ${amount}원을 월간 예산 ${monthlyAmount}원으로 설정`);
|
||||
}
|
||||
|
||||
// 월간 예산에서 주간/일일 예산 계산
|
||||
weeklyAmount = Math.round(monthlyAmount / 4.345);
|
||||
dailyAmount = Math.round(monthlyAmount / 30);
|
||||
|
||||
// 모든 금액이 최소한 0 이상이 되도록 보장
|
||||
monthlyAmount = Math.max(0, monthlyAmount);
|
||||
weeklyAmount = Math.max(0, weeklyAmount);
|
||||
|
||||
Reference in New Issue
Block a user