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 = `
سلام چطوری میتونیم به شما کمک کنیم ؟
پشتیبان :
درحال نوشتن . . .
`
let messageItemTemplate = `
` ;
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)
// })