@kustomer/chat-react-native
Version:
Kustomer Chat SDK wrapper for React Native
27 lines (26 loc) • 1.06 kB
JavaScript
;
import { useEffect, useState } from 'react';
import { KustomerChat } from '../NativeModules';
const useIsKustomerLoggedIn = (idType, id, {
loggedInPollInterval = 1000,
loggedOutPollInterval = 5000
} = {}) => {
const [isLoggedIn, setIsLoggedIn] = useState(null);
useEffect(() => {
KustomerChat.isLoggedIn(idType, id).then(setIsLoggedIn);
}, []);
useEffect(() => {
if (isLoggedIn === true) {
const updateTimer = setInterval(() => KustomerChat.isLoggedIn(idType, id).then(setIsLoggedIn), loggedInPollInterval);
return () => clearInterval(updateTimer);
} else if (isLoggedIn === false || isLoggedIn === null) {
const updateTimer = setInterval(() => KustomerChat.isLoggedIn(idType, id).then(setIsLoggedIn), loggedOutPollInterval);
return () => clearInterval(updateTimer);
} else {
return () => {};
}
}, [isLoggedIn, id, idType, loggedInPollInterval, loggedOutPollInterval]);
return isLoggedIn;
};
export default useIsKustomerLoggedIn;
//# sourceMappingURL=useIsKustomerLoggedIn.js.map