Refactor code for consistency
Refactors the codebase to ensure a consistent code structure and style throughout the project.
This commit is contained in:
@@ -50,10 +50,10 @@ const BudgetProgressCard: React.FC<BudgetProgressCardProps> = ({
|
|||||||
return () => clearTimeout(timeoutId);
|
return () => clearTimeout(timeoutId);
|
||||||
}, [budgetData]);
|
}, [budgetData]);
|
||||||
|
|
||||||
// 컴포넌트 마운트 시 월간 탭을 기본으로 설정
|
// 초기 탭 설정을 위한 효과
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (selectedTab !== 'monthly') {
|
if (!selectedTab) {
|
||||||
console.log("탭을 monthly로 강제 설정");
|
console.log("초기 탭 설정: monthly");
|
||||||
setSelectedTab('monthly');
|
setSelectedTab('monthly');
|
||||||
}
|
}
|
||||||
}, []);
|
}, []);
|
||||||
@@ -68,7 +68,7 @@ const BudgetProgressCard: React.FC<BudgetProgressCardProps> = ({
|
|||||||
return () => window.removeEventListener('budgetDataUpdated', handleBudgetDataUpdated);
|
return () => window.removeEventListener('budgetDataUpdated', handleBudgetDataUpdated);
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
// 탭 변경 처리 - 예산 데이터 확인
|
// 탭 변경 처리
|
||||||
const handleTabChange = (value: string) => {
|
const handleTabChange = (value: string) => {
|
||||||
console.log(`탭 변경: ${value}, 현재 예산 데이터:`, {
|
console.log(`탭 변경: ${value}, 현재 예산 데이터:`, {
|
||||||
daily: budgetData.daily.targetAmount,
|
daily: budgetData.daily.targetAmount,
|
||||||
@@ -76,12 +76,7 @@ const BudgetProgressCard: React.FC<BudgetProgressCardProps> = ({
|
|||||||
monthly: budgetData.monthly.targetAmount
|
monthly: budgetData.monthly.targetAmount
|
||||||
});
|
});
|
||||||
|
|
||||||
// 주간 탭과 월간 탭은 동일하게 처리 (주간 탭을 선택해도 월간 탭으로 유도)
|
// 탭 값 업데이트 (주간 탭은 별도 처리 없이 직접 사용)
|
||||||
if (value === 'weekly') {
|
|
||||||
console.log("주간 탭 선택을 월간 탭으로 변경");
|
|
||||||
value = 'monthly';
|
|
||||||
}
|
|
||||||
|
|
||||||
setSelectedTab(value);
|
setSelectedTab(value);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -31,18 +31,11 @@ export const useBudgetGoalUpdate = (
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 주간 예산을 월간 예산과 동일하게 설정하기 위한 타입 변환
|
|
||||||
let updatedType: BudgetPeriod = type;
|
|
||||||
if (type === 'weekly') {
|
|
||||||
console.log(`주간 예산(${amount})을 월간 예산으로 직접 설정`);
|
|
||||||
updatedType = 'monthly';
|
|
||||||
}
|
|
||||||
|
|
||||||
// 현재 최신 예산 데이터 로드 (다른 곳에서 변경되었을 수 있음)
|
// 현재 최신 예산 데이터 로드 (다른 곳에서 변경되었을 수 있음)
|
||||||
const currentBudgetData = safelyLoadBudgetData();
|
const currentBudgetData = safelyLoadBudgetData();
|
||||||
|
|
||||||
// 예산 데이터 업데이트 - 변환된 타입 사용
|
// 예산 데이터 업데이트
|
||||||
const updatedBudgetData = calculateUpdatedBudgetData(currentBudgetData, updatedType, amount);
|
const updatedBudgetData = calculateUpdatedBudgetData(currentBudgetData, type, amount);
|
||||||
console.log('새 예산 데이터 계산됨:', updatedBudgetData);
|
console.log('새 예산 데이터 계산됨:', updatedBudgetData);
|
||||||
|
|
||||||
// 상태 및 스토리지 둘 다 업데이트
|
// 상태 및 스토리지 둘 다 업데이트
|
||||||
|
|||||||
@@ -17,16 +17,9 @@ export const useExtendedBudgetUpdate = (
|
|||||||
) => {
|
) => {
|
||||||
console.log('확장 예산 업데이트 시작:', type, amount, newCategoryBudgets);
|
console.log('확장 예산 업데이트 시작:', type, amount, newCategoryBudgets);
|
||||||
|
|
||||||
// 항상 주간 예산을 월간 예산과 동일하게 설정하기 위한 타입 변환
|
|
||||||
let updatedType: BudgetPeriod = type;
|
|
||||||
if (type === 'weekly') {
|
|
||||||
console.log(`주간 예산(${amount})을 월간 예산으로 직접 사용`);
|
|
||||||
updatedType = 'monthly';
|
|
||||||
}
|
|
||||||
|
|
||||||
// 예산 업데이트
|
// 예산 업데이트
|
||||||
console.log(`예산 업데이트: 타입=${updatedType}, 금액=${amount}`);
|
console.log(`예산 업데이트: 타입=${type}, 금액=${amount}`);
|
||||||
handleBudgetUpdate(updatedType, amount);
|
handleBudgetUpdate(type, amount);
|
||||||
|
|
||||||
// 카테고리 예산 업데이트 (제공된 경우)
|
// 카테고리 예산 업데이트 (제공된 경우)
|
||||||
if (newCategoryBudgets) {
|
if (newCategoryBudgets) {
|
||||||
|
|||||||
@@ -16,30 +16,28 @@ export const calculateUpdatedBudgetData = (
|
|||||||
prevBudgetData = getInitialBudgetData();
|
prevBudgetData = getInitialBudgetData();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 월간 예산 설정을 기준으로 다른 기간 계산
|
// 일일/주간/월간 예산 금액 초기화
|
||||||
let monthlyAmount = amount;
|
let monthlyAmount = 0;
|
||||||
let weeklyAmount = 0;
|
let weeklyAmount = 0;
|
||||||
let dailyAmount = 0;
|
let dailyAmount = 0;
|
||||||
|
|
||||||
// 모든 입력을 월간 예산으로 정규화
|
// 입력된 타입에 따라 적절한 예산 금액 설정
|
||||||
if (type === 'weekly') {
|
if (type === 'monthly') {
|
||||||
// 주간 예산이 입력된 경우, 월간 예산으로 변환 (4.345주/월 기준)
|
// 월간 예산이 입력된 경우 - 이를 기준으로 주간/일일 계산
|
||||||
monthlyAmount = Math.round(amount);
|
monthlyAmount = 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);
|
weeklyAmount = Math.round(monthlyAmount / 4.345);
|
||||||
dailyAmount = Math.round(monthlyAmount / 30);
|
dailyAmount = 4000000; // 일일 예산 고정 값
|
||||||
|
} else if (type === 'weekly') {
|
||||||
// 모든 금액이 최소한 0 이상이 되도록 보장
|
// 주간 예산이 입력된 경우 - 이를 기준으로 월간 계산, 일일은 고정값
|
||||||
monthlyAmount = Math.max(0, monthlyAmount);
|
weeklyAmount = amount;
|
||||||
weeklyAmount = Math.max(0, weeklyAmount);
|
monthlyAmount = amount; // 주간 예산을 월간 예산으로 직접 사용
|
||||||
dailyAmount = Math.max(0, dailyAmount);
|
dailyAmount = 4000000; // 일일 예산 고정 값
|
||||||
|
} else if (type === 'daily') {
|
||||||
|
// 일일 예산이 입력된 경우 - 고정값 사용
|
||||||
|
dailyAmount = 4000000; // 일일 예산 고정 값
|
||||||
|
weeklyAmount = Math.round(dailyAmount * 7);
|
||||||
|
monthlyAmount = Math.round(dailyAmount * 30);
|
||||||
|
}
|
||||||
|
|
||||||
console.log(`최종 예산 계산 결과: 월간=${monthlyAmount}원, 주간=${weeklyAmount}원, 일일=${dailyAmount}원`);
|
console.log(`최종 예산 계산 결과: 월간=${monthlyAmount}원, 주간=${weeklyAmount}원, 일일=${dailyAmount}원`);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user