Refactor syncSettings.ts

Refactor syncSettings.ts to improve modularity.
This commit is contained in:
gpt-engineer-app[bot]
2025-03-15 12:13:19 +00:00
parent 2493f958de
commit 6991f5d27f
5 changed files with 160 additions and 134 deletions

52
src/utils/sync/config.ts Normal file
View File

@@ -0,0 +1,52 @@
import { supabase } from '@/lib/supabase';
/**
* 동기화 기능이 활성화되어 있는지 확인
*/
export const isSyncEnabled = (): boolean => {
try {
return localStorage.getItem('syncEnabled') === 'true';
} catch (error) {
console.error('동기화 설정 확인 중 오류:', error);
return false;
}
};
/**
* 동기화 설정 업데이트
*/
export const setSyncEnabled = (enabled: boolean): void => {
try {
localStorage.setItem('syncEnabled', enabled.toString());
} catch (error) {
console.error('동기화 설정 업데이트 중 오류:', error);
}
};
/**
* 동기화 설정 초기화
*/
export const initSyncSettings = (): void => {
try {
if (localStorage.getItem('syncEnabled') === null) {
localStorage.setItem('syncEnabled', 'false');
}
// Supabase 연결 테스트
(async () => {
try {
const { data, error } = await supabase.auth.getUser();
if (error) {
console.warn('Supabase 연결 테스트 실패:', error.message);
} else {
console.log('Supabase 연결 테스트 성공:', data.user ? '사용자 로그인됨' : '사용자 로그인 필요');
}
} catch (testError) {
console.error('Supabase 연결 테스트 중 예외 발생:', testError);
}
})();
} catch (error) {
console.error('동기화 설정 초기화 중 오류:', error);
}
};