@talkjs/react-native
Version:
Official TalkJS SDK for React Native
36 lines (33 loc) • 993 B
JavaScript
;
import { useContext, useEffect } from 'react';
import { HTML_PANEL, CHATBOX } from './constants';
import { getRandomWord } from './utils';
import { SessionContext } from './Session';
function HtmlPanel(props) {
const {
injectJavaScript
} = useContext(SessionContext);
useEffect(() => {
const htmlPanelOptions = JSON.stringify({
url: props.url,
conversation: props.conversationId,
height: props.height,
show: props.show
});
const intervalId = getRandomWord(10);
injectJavaScript(`
let ${intervalId};
${intervalId} = setInterval(() => {
if (${CHATBOX}) {
${HTML_PANEL} = ${CHATBOX}.createHtmlPanel(${htmlPanelOptions});
clearInterval(${intervalId});
${intervalId} = null;
}
}, 100);
true;
`);
}, [injectJavaScript, props.url, props.conversationId, props.height, props.show]);
return null;
}
export { HtmlPanel };
//# sourceMappingURL=HtmlPanel.js.map