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:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user