import { useLazyQuery } from '@apollo/client'; import React, { useEffect } from 'react'; import { GET_SERVER_TIME, GetServerTimeResponse } from './queries'; import { setTimeSync } from '/imports/ui/core/local-states/useTimeSync'; const TimeSync: React.FC = () => { const [ loadGetServerTime, { called, loading, data, error }, ] = useLazyQuery(GET_SERVER_TIME); useEffect(() => { if (!called) { loadGetServerTime(); } }, []); useEffect(() => { if (!loading && data) { const time = new Date(data.current_time[0].currentTimestamp); setTimeSync(time.getTime() - new Date().getTime()); } }, [data, loading]); return null; }; export default TimeSync;