Retain sync setting on reset

After data reset, the sync setting should remain in its previous state (On or Off) instead of always defaulting to Off.
This commit is contained in:
gpt-engineer-app[bot]
2025-03-18 01:21:54 +00:00
parent a6c751941c
commit a4533aea70
5 changed files with 51 additions and 13 deletions

View File

@@ -77,6 +77,8 @@ export const resetAllStorageData = (): void => {
const authSession = localStorage.getItem('authSession');
const sbAuth = localStorage.getItem('sb-auth-token');
const supabase = localStorage.getItem('supabase.auth.token');
// 동기화 설정 백업 (변경된 부분)
const syncEnabled = localStorage.getItem('syncEnabled');
// 모든 Storage 키 목록 (로그인 관련 항목 제외)
const keysToRemove = [
@@ -100,7 +102,7 @@ export const resetAllStorageData = (): void => {
'budgetHistory',
'transactionHistory',
'lastSync',
'syncEnabled'
// 'syncEnabled' 제거됨 - 동기화 설정은 보존
];
// 키 삭제
@@ -154,13 +156,19 @@ export const resetAllStorageData = (): void => {
localStorage.setItem('supabase.auth.token', supabase);
}
// 동기화 설정 복원 (변경된 부분)
if (syncEnabled) {
localStorage.setItem('syncEnabled', syncEnabled);
console.log('동기화 설정 복원:', syncEnabled);
}
// 이벤트 발생
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);
}

View File

@@ -54,8 +54,9 @@ export const clearCloudData = async (userId: string): Promise<boolean> => {
}
// 동기화 설정 초기화 및 마지막 동기화 시간 초기화
// 변경: 동기화 설정을 비활성화하지 않고 마지막 동기화 시간만 초기화
localStorage.removeItem('lastSync');
localStorage.setItem('syncEnabled', 'false');
// localStorage.setItem('syncEnabled', 'false'); 이 줄 제거
console.log('클라우드 데이터 초기화 완료');
return true;