let __mv_socket_address = 'https://socket2.mavarateb.com' let __mv_support = false let __mv_socket_io_client = 'https://mavarateb.com/assets/socket.io.min.js' let __primary_color = '#000' let __mv_right = '20px' let __mv_bottom = '20px' let __mv_right_mobile = '20px' let __mv_bottom_mobile = '20px' let __mv_main_buttons = false let __mv_booking_url = '' let __mv_call_number = '' let socketIoClientUrl = __mv_socket_io_client // window.addEventListener('load', () => { let socketIoCleintScript = document.createElement('script') socketIoCleintScript.src = socketIoClientUrl socketIoCleintScript.addEventListener('load', () => { let referrer = "" if (document.referrer && document.referrer != "") { referrer = document.referrer } let __mvData = { pageTitle: document.title, path: window.location.href, host: window.location.host, referrer: referrer } let socket = new io(__mv_socket_address) socket.emit('monitor-signal', JSON.stringify(__mvData)) let template = `
سوالی داری ؟
ionicons-v5-i
در خدمتیم
آفلاین :(
بازگشت  >
chat
دریافت نوبت
تماس با مطب
سلام چطوری میتونیم به شما کمک کنیم ؟
پشتیبان : درحال نوشتن . . .
` let messageItemTemplate = `
{icon}
{message}
{link}
` ; let userIcon = ` ` ; let supportIcon = ` ` ; socket.on('update', (messages) => { messages = JSON.parse(messages) let messagesItemsHTML = '' messages.map((item, messageKey) => { direction = '' let hideClass = '' let icon = userIcon if (item.send_from_support) { direction = 'left' icon = supportIcon } if (messageKey == 0) { hideClass = 'hide message-number-' + messageKey } let link = ``; if (item.link != undefined && item.link != '') { link = ` ` ; } messagesItemsHTML += messageItemTemplate .replace('{direction}', direction) .replace('{message}', item.text) .replace('{icon}', icon) .replace('{hideClass}', hideClass) .replace('{link}', link) }) setTimeout(() => { document.querySelector('.__mv_chat_box_content').innerHTML = messagesItemsHTML setTimeout(() => { document.querySelector('.message-number-0').classList.remove('hide') }, 100) }, 100) }) let getRandomId = () => { let id = __mvData.host + '_'; for (let i = 0; i <= 30; i++) { id += '' + Math.floor(Math.random() * 9); } return id } if (!window.localStorage.getItem('__mv_chat_id')) { window.localStorage.setItem('__mv_chat_id', getRandomId()); } let __mv_chat_id = window.localStorage.getItem('__mv_chat_id') let supportElement = document.createElement('div'); supportElement.innerHTML = template if (__mv_support == true) { document.body.appendChild(supportElement) } setTimeout(() => { supportElement.querySelector('.__mv_support_button_label').classList.toggle('show') setTimeout(() => { supportElement.querySelector('.__mv_support_button_icon').classList.add('animate') }, 300) document.querySelectorAll('.__mv-toggle-chat-box') .forEach((toggleButton) => { toggleButton.addEventListener('click', () => { supportElement.querySelector('.__mv_support_button_label').classList.toggle('show') // setTimeout(()=>{ document.querySelector('.__mv_chat_box').classList.toggle('show') // },400) }) }) let isTypingTimeout = null // is typing socket.on('is-typing', (data) => { let isTypingElement = document.querySelector('.__mb_is_typing'); console.log(data) clearTimeout(isTypingTimeout) isTypingElement.classList.add('show') isTypingTimeout = setTimeout(() => { isTypingElement.classList.remove('show') }, 1000) }) //send message = let __mvSendMessage = () => { let message = document.querySelector('.__mv_input_chat_box') if (message.value == '' || message.value.length <= 2) { return false } socket.emit('send-support-message', JSON.stringify({ chat_id: __mv_chat_id, host: __mvData.host, message: { text: message.value } , pageTitle : document.title })) message.value = '' } setTimeout(() => { document.querySelector('.__mv_input_chat_box').addEventListener('keyup', (event) => { if (event.keyCode == 13) { __mvSendMessage() } }) document.querySelector('.__mv_chat_box_send_button').addEventListener('click', () => { __mvSendMessage() }) socket.emit('get-count-support', true); socket.on('count-support', (data) => { if (parseInt(data) > 0) { document.querySelector('.__mv_support_button').classList.remove('hide') document.querySelector('.__mv_offline').style.display = 'none' } else { document.querySelector('.__mv_support_button').classList.add('hide') document.querySelector('.__mv_offline').style.display = 'block' } }) socket.on('get-count-support', (data) => { socket.emit('get-count-support', true); }) }, 300) }, 300) document.querySelectorAll('a').forEach((linkElement) => { linkElement.addEventListener('click', (event) => { if ( linkElement.getAttribute('href').indexOf('tel') > -1 || linkElement.getAttribute('href').indexOf('instagram') > -1 || linkElement.getAttribute('href').indexOf('whatsapp') > -1 || linkElement.getAttribute('href').indexOf('wa.me') > -1 ) { if(linkElement.getAttribute('href').indexOf('tel') > -1 && __mv_booking_url){ window.open(`${__mv_booking_url}?call_action=${linkElement.getAttribute('href')}`,'_blank') } event.preventDefault(); socket.emit('register-call-button-event', JSON.stringify({ action: linkElement.getAttribute('href'), data: __mvData })) setTimeout(() => { window.open(linkElement.getAttribute('href'), '_blank'); }, 200) } }) }) }) document.head.appendChild(socketIoCleintScript) // })