Fix data initialization and toast issues

- Ensure toast notifications disappear after data initialization.
- Resolve issues with expense items not displaying on the expense page.
- Fix graph display issues on the analytics screen.
- Prevent login screen from appearing after data initialization.
This commit is contained in:
gpt-engineer-app[bot]
2025-03-16 08:49:04 +00:00
parent fe669b0cfd
commit e392557b9c
5 changed files with 216 additions and 102 deletions

View File

@@ -73,8 +73,12 @@ export const resetAllStorageData = (): void => {
// 중요: 사용자 설정 값 백업
const dontShowWelcomeValue = localStorage.getItem('dontShowWelcome');
const hasVisitedBefore = localStorage.getItem('hasVisitedBefore');
// 로그인 상태 관련 데이터 백업
const authSession = localStorage.getItem('authSession');
const sbAuth = localStorage.getItem('sb-auth-token');
const supabase = localStorage.getItem('supabase.auth.token');
// 모든 Storage 키 목록
// 모든 Storage 키 목록 (로그인 관련 항목 제외)
const keysToRemove = [
'transactions',
'budget',
@@ -120,12 +124,7 @@ export const resetAllStorageData = (): void => {
localStorage.setItem('categoryBudgets', JSON.stringify({
식비: 0,
교통비: 0,
생활비: 0,
쇼핑: 0,
의료: 0,
여가: 0,
교육: 0,
기타: 0
생활비: 0
}));
// 백업 생성
@@ -142,13 +141,26 @@ export const resetAllStorageData = (): void => {
localStorage.setItem('hasVisitedBefore', hasVisitedBefore);
}
// 로그인 상태 복원
if (authSession) {
localStorage.setItem('authSession', authSession);
}
if (sbAuth) {
localStorage.setItem('sb-auth-token', sbAuth);
}
if (supabase) {
localStorage.setItem('supabase.auth.token', supabase);
}
// 이벤트 발생
window.dispatchEvent(new Event('transactionUpdated'));
window.dispatchEvent(new Event('budgetDataUpdated'));
window.dispatchEvent(new Event('categoryBudgetsUpdated'));
window.dispatchEvent(new StorageEvent('storage'));
console.log('모든 저장소 데이터가 완전히 초기화되었습니다.');
console.log('모든 저장소 데이터가 완전히 초기화되었습니다. (로그인 상태는 유지)');
} catch (error) {
console.error('데이터 초기화 중 오류:', error);
}