Files
cinny/src/app/hooks/useSyncState.ts
Ajay Bura e2228a18c1 handle error in loading screen (#1823)
* handle client boot error in loading screen

* use sync state hook in client root

* add loading screen options

* removed extra condition in loading finish

* add sync connection status bar
2024-07-22 20:47:19 +10:00

15 lines
410 B
TypeScript

import { ClientEvent, ClientEventHandlerMap, MatrixClient } from 'matrix-js-sdk';
import { useEffect } from 'react';
export const useSyncState = (
mx: MatrixClient | undefined,
onChange: ClientEventHandlerMap[ClientEvent.Sync]
): void => {
useEffect(() => {
mx?.on(ClientEvent.Sync, onChange);
return () => {
mx?.removeListener(ClientEvent.Sync, onChange);
};
}, [mx, onChange]);
};