Fix budget input and calculation
The budget input was not being saved correctly, and the daily/weekly calculations were not working as expected. This commit fixes these issues.
This commit is contained in:
@@ -57,7 +57,7 @@ export const calculateCategorySpending = (
|
|||||||
}));
|
}));
|
||||||
};
|
};
|
||||||
|
|
||||||
// 예산 데이터 업데이트 계산 - 개선된 함수
|
// 예산 데이터 업데이트 계산 - 수정된 함수
|
||||||
export const calculateUpdatedBudgetData = (
|
export const calculateUpdatedBudgetData = (
|
||||||
prevBudgetData: BudgetData,
|
prevBudgetData: BudgetData,
|
||||||
type: BudgetPeriod,
|
type: BudgetPeriod,
|
||||||
@@ -66,7 +66,7 @@ export const calculateUpdatedBudgetData = (
|
|||||||
console.log(`예산 업데이트 계산: 타입=${type}, 금액=${amount}`);
|
console.log(`예산 업데이트 계산: 타입=${type}, 금액=${amount}`);
|
||||||
|
|
||||||
// 선택된 타입에 따라 다른 타입의 예산도 자동으로 계산
|
// 선택된 타입에 따라 다른 타입의 예산도 자동으로 계산
|
||||||
let monthlyAmount, weeklyAmount, dailyAmount;
|
let monthlyAmount: number, weeklyAmount: number, dailyAmount: number;
|
||||||
|
|
||||||
if (type === 'monthly') {
|
if (type === 'monthly') {
|
||||||
// 월간 예산이 직접 입력된 경우
|
// 월간 예산이 직접 입력된 경우
|
||||||
|
|||||||
@@ -22,6 +22,12 @@ export const useExtendedBudgetUpdate = (
|
|||||||
// 카테고리 예산이 제공된 경우 업데이트
|
// 카테고리 예산이 제공된 경우 업데이트
|
||||||
if (newCategoryBudgets) {
|
if (newCategoryBudgets) {
|
||||||
try {
|
try {
|
||||||
|
// 교통비 값이 있으면 교통으로 통합
|
||||||
|
if (newCategoryBudgets['교통비'] && !newCategoryBudgets['교통']) {
|
||||||
|
newCategoryBudgets['교통'] = newCategoryBudgets['교통비'];
|
||||||
|
delete newCategoryBudgets['교통비'];
|
||||||
|
}
|
||||||
|
|
||||||
// 카테고리 예산 저장
|
// 카테고리 예산 저장
|
||||||
updateCategoryBudgets(newCategoryBudgets);
|
updateCategoryBudgets(newCategoryBudgets);
|
||||||
|
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ export const loadCategoryBudgetsFromStorage = (): Record<string, number> => {
|
|||||||
// 모든 허용된 카테고리 포함
|
// 모든 허용된 카테고리 포함
|
||||||
const filteredBudgets: Record<string, number> = {};
|
const filteredBudgets: Record<string, number> = {};
|
||||||
EXPENSE_CATEGORIES.forEach(category => {
|
EXPENSE_CATEGORIES.forEach(category => {
|
||||||
// 이전 카테고리명이 있을 경우 새 카테고리명으로 값 이전
|
// 이전 카테고리명이 있을 경우 새 카테고리명으로 값 이전
|
||||||
if (category === '음식' && parsed['식비'] !== undefined) {
|
if (category === '음식' && parsed['식비'] !== undefined) {
|
||||||
filteredBudgets[category] = parsed['식비'];
|
filteredBudgets[category] = parsed['식비'];
|
||||||
} else if (category === '교통' && parsed['교통비'] !== undefined) {
|
} else if (category === '교통' && parsed['교통비'] !== undefined) {
|
||||||
@@ -86,7 +86,12 @@ export const saveCategoryBudgetsToStorage = (categoryBudgets: Record<string, num
|
|||||||
// 모든 허용된 카테고리 포함하여 유지
|
// 모든 허용된 카테고리 포함하여 유지
|
||||||
const filteredBudgets: Record<string, number> = {};
|
const filteredBudgets: Record<string, number> = {};
|
||||||
EXPENSE_CATEGORIES.forEach(category => {
|
EXPENSE_CATEGORIES.forEach(category => {
|
||||||
filteredBudgets[category] = categoryBudgets[category] || 0;
|
// 교통비 -> 교통으로 표준화
|
||||||
|
if (category === '교통') {
|
||||||
|
filteredBudgets[category] = categoryBudgets[category] || categoryBudgets['교통비'] || 0;
|
||||||
|
} else {
|
||||||
|
filteredBudgets[category] = categoryBudgets[category] || 0;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// 데이터 문자열로 변환
|
// 데이터 문자열로 변환
|
||||||
|
|||||||
Reference in New Issue
Block a user