Fix TS errors and module issues

- Corrected module exports and imports to resolve TypeScript errors.
- Fixed property access errors in budget synchronization logic.
This commit is contained in:
gpt-engineer-app[bot]
2025-03-21 11:30:08 +00:00
parent 8e6eb9d8aa
commit 42c9bc4000
5 changed files with 119 additions and 8 deletions

View File

@@ -3,6 +3,30 @@
* 수정된 예산 추적 유틸리티
*/
// 로컬에 저장된 수정된 예산 가져오기
export const getModifiedBudget = (): { monthlyAmount: number; timestamp: number } | null => {
try {
const data = localStorage.getItem('modifiedBudget_data');
if (!data) return null;
return JSON.parse(data);
} catch (error) {
console.error('수정된 예산 데이터 조회 오류:', error);
return null;
}
};
// 로컬에 저장된 수정된 카테고리 예산 가져오기
export const getModifiedCategoryBudgets = (): { categories: Record<string, number>; timestamp: number } | null => {
try {
const data = localStorage.getItem('modifiedCategoryBudgets_data');
if (!data) return null;
return JSON.parse(data);
} catch (error) {
console.error('수정된 카테고리 예산 데이터 조회 오류:', error);
return null;
}
};
// 예산 수정 여부 확인
export const isModifiedBudget = (): boolean => {
return localStorage.getItem('modifiedBudget') === 'true';
@@ -43,3 +67,39 @@ export const clearAllModifiedFlags = (): void => {
clearModifiedBudget();
clearModifiedCategoryBudgets();
};
// 월간 예산 수정을 추적하고 저장하는 함수
export const markBudgetAsModified = (monthlyAmount: number): void => {
setModifiedBudget(true);
// 수정 시간과 함께 데이터 저장
const modifiedData = {
monthlyAmount,
timestamp: Date.now()
};
localStorage.setItem('modifiedBudget_data', JSON.stringify(modifiedData));
console.log(`월간 예산 ${monthlyAmount}원으로 수정 완료, 타임스탬프: ${new Date().toISOString()}`);
};
// 개별 카테고리 예산 수정을 추적하는 함수
export const markSingleCategoryBudgetAsModified = (category: string, amount: number): void => {
setModifiedCategoryBudgets(true);
// 기존 데이터 가져오기
let modifiedData = getModifiedCategoryBudgets();
if (!modifiedData) {
modifiedData = {
categories: {},
timestamp: Date.now()
};
}
// 수정된 카테고리 업데이트
modifiedData.categories[category] = amount;
modifiedData.timestamp = Date.now();
localStorage.setItem('modifiedCategoryBudgets_data', JSON.stringify(modifiedData));
console.log(`카테고리 '${category}' 예산을 ${amount}원으로 수정 완료, 타임스탬프: ${new Date().toISOString()}`);
};