Ensure sync is disabled

The sync setting was not consistently being disabled in certain scenarios. This change ensures that the sync setting is properly disabled when expected.
This commit is contained in:
gpt-engineer-app[bot]
2025-03-18 01:48:38 +00:00
parent dfb9d8ca69
commit 043db23836
5 changed files with 59 additions and 25 deletions

View File

@@ -36,8 +36,19 @@ export const useSyncToggle = () => {
// 인증 상태 변경 이벤트 리스너
window.addEventListener('auth-state-changed', updateSyncState);
// 스토리지 변경 이벤트에도 동기화 상태 확인 추가
const handleStorageChange = (event: StorageEvent) => {
if (event.key === 'syncEnabled' || event.key === null) {
setEnabled(isSyncEnabled());
console.log('스토리지 변경으로 동기화 상태 업데이트:', isSyncEnabled() ? '활성화' : '비활성화');
}
};
window.addEventListener('storage', handleStorageChange);
return () => {
window.removeEventListener('auth-state-changed', updateSyncState);
window.removeEventListener('storage', handleStorageChange);
};
}, [user]);
@@ -66,6 +77,9 @@ export const useSyncToggle = () => {
setEnabled(checked);
setSyncEnabled(checked);
// 이벤트 트리거
window.dispatchEvent(new Event('auth-state-changed'));
if (checked && user) {
try {
// 동기화 활성화 시 즉시 동기화 실행