1
import { useCallback } from 'react';
3
import { useChatStore } from '@/store/chat';
4
import { featureFlagsSelectors, useServerConfigStore } from '@/store/serverConfig';
5
import { useSessionStore } from '@/store/session';
6
import { useUserStore } from '@/store/user';
7
import { syncSettingsSelectors, userProfileSelectors } from '@/store/user/selectors';
9
export const useSyncEvent = () => {
10
const [refreshMessages, refreshTopic] = useChatStore((s) => [s.refreshMessages, s.refreshTopic]);
11
const [refreshSessions] = useSessionStore((s) => [s.refreshSessions]);
13
return useCallback((tableKey: string) => {
14
// console.log('triggerSync Event:', tableKey);
39
export const useEnabledDataSync = () => {
40
const [userId, userEnableSync, useEnabledSync] = useUserStore((s) => [
41
userProfileSelectors.userId(s),
42
syncSettingsSelectors.enableWebRTC(s),
46
const { enableWebrtc } = useServerConfigStore(featureFlagsSelectors);
47
const syncEvent = useSyncEvent();
49
useEnabledSync(enableWebrtc, { onEvent: syncEvent, userEnableSync, userId });