diff --git a/src/lib/common/LiveChatEntry.svelte b/src/lib/common/LiveChatEntry.svelte index 755e41be..6c55fad2 100644 --- a/src/lib/common/LiveChatEntry.svelte +++ b/src/lib/common/LiveChatEntry.svelte @@ -3,50 +3,58 @@ import { onMount } from 'svelte'; import { PUBLIC_LIVECHAT_HOST, PUBLIC_LIVECHAT_ENTRY_ICON } from '$env/static/public'; import { getSettingDetail } from '$lib/services/setting-service'; + import { chatBotStore } from '$lib/helpers/store'; + import { CHAT_FRAME_ID } from '$lib/helpers/constants'; - let showChatIcon = false; - let showChatBox = false; let chatUrl = PUBLIC_LIVECHAT_HOST; onMount(async () => { const agentSettings = await getSettingDetail("Agent"); chatUrl = `${PUBLIC_LIVECHAT_HOST}chat/${agentSettings.hostAgentId}?isFrame=true`; - showChatIcon = true; }); // Handle event from iframe window.onmessage = async function(e) { if (e.data.action == 'close') { - showChatIcon = true; - showChatBox = false; + chatBotStore.set({ + showChatBox: false + }); } }; - function handleChatBox() { - showChatIcon = false; - showChatBox = true; + function openChatBox() { + chatBotStore.set({ + showChatBox: true + }); }
- {#if showChatBox} + {#if $chatBotStore.showChatBox}
+ id={CHAT_FRAME_ID} + />
{/if} - {#if showChatIcon} + {#if !$chatBotStore.showChatBox}
-