This commit reviews and refines the synchronization logic to ensure proper functionality and data integrity.
44 lines
1.3 KiB
TypeScript
44 lines
1.3 KiB
TypeScript
|
|
/**
|
|
* 동기화 설정 관리
|
|
*/
|
|
|
|
// 동기화 활성화 여부 확인
|
|
export const isSyncEnabled = (): boolean => {
|
|
try {
|
|
const value = localStorage.getItem('syncEnabled');
|
|
return value === 'true';
|
|
} catch (error) {
|
|
console.error('동기화 설정 조회 오류:', error);
|
|
return false;
|
|
}
|
|
};
|
|
|
|
// 동기화 설정 변경
|
|
export const setSyncEnabled = (enabled: boolean): void => {
|
|
try {
|
|
localStorage.setItem('syncEnabled', enabled ? 'true' : 'false');
|
|
|
|
// 상태 변경 이벤트 발생
|
|
window.dispatchEvent(new Event('syncSettingChanged'));
|
|
window.dispatchEvent(new StorageEvent('storage', {
|
|
key: 'syncEnabled',
|
|
newValue: enabled ? 'true' : 'false'
|
|
}));
|
|
|
|
console.log('동기화 설정이 변경되었습니다:', enabled ? '활성화' : '비활성화');
|
|
} catch (error) {
|
|
console.error('동기화 설정 변경 오류:', error);
|
|
}
|
|
};
|
|
|
|
// 동기화 설정 초기화
|
|
export const initSyncSettings = (): void => {
|
|
// 이미 설정이 있으면 초기화하지 않음
|
|
if (localStorage.getItem('syncEnabled') === null) {
|
|
setSyncEnabled(false); // 기본값: 비활성화
|
|
}
|
|
|
|
console.log('동기화 설정 초기화 완료, 현재 상태:', isSyncEnabled() ? '활성화' : '비활성화');
|
|
};
|