import { Transaction } from '@/components/TransactionCard'; // 트랜잭션 데이터 불러오기 export const loadTransactionsFromStorage = (): Transaction[] => { const localData = localStorage.getItem('transactions'); if (localData) { return JSON.parse(localData) as Transaction[]; } return []; }; // 기본 샘플 데이터 생성 export const createSampleTransactions = (selectedMonth: string): Transaction[] => { // 샘플 데이터는 생성하지 않고 빈 배열 반환 (초기 상태에서는 데이터가 없어야 함) return []; }; // 트랜잭션 데이터 저장하기 export const saveTransactionsToStorage = (transactions: Transaction[]): void => { localStorage.setItem('transactions', JSON.stringify(transactions)); }; // 예산 불러오기 export const loadBudgetFromStorage = (): number => { const budgetData = localStorage.getItem('budget'); if (budgetData) { const parsedBudget = JSON.parse(budgetData); return parsedBudget.total || 0; // 기본값을 0으로 변경 } return 0; // 기본값 0으로 변경 }; // 모든 데이터 완전히 초기화 export const resetAllStorageData = (): void => { // 모든 Storage 키 삭제 const keysToRemove = [ 'transactions', 'budget', 'monthlyExpenses', 'budgetData', 'categoryBudgets', 'analyticData', 'expenseData', 'chartData', 'monthlyData', 'spendingData' ]; // 명시적으로 알려진 키들 삭제 keysToRemove.forEach(key => localStorage.removeItem(key)); // 명시적으로 트랜잭션 초기화 localStorage.setItem('transactions', JSON.stringify([])); // 모든 예산 관련, 지출 관련 데이터 검색 및 삭제 const keywordsToFind = ['budget', 'expense', 'transaction', 'analytic', 'spending', 'chart', 'financial', 'money', 'category']; // 모든 localStorage 순회하며 키워드 포함된 항목 삭제 for (let i = 0; i < localStorage.length; i++) { const key = localStorage.key(i); if (key) { const lowerKey = key.toLowerCase(); if (keywordsToFind.some(keyword => lowerKey.includes(keyword))) { console.log(`추가 데이터 삭제: ${key}`); localStorage.removeItem(key); } } } console.log('모든 저장소 데이터가 완전히 초기화되었습니다.'); };