// i deeply apologize for the horrors within... const ntfyEndpoint = "https://ntfy.ouroboros.group/beep" const ntfyMessage = document.getElementById("ntfy-message"); const ntfyTitle = document.getElementById("ntfy-title"); const ntfyAttach = document.getElementById("ntfy-attach"); const ntfyClickAction = document.getElementById("ntfy-click"); const ntfyButton = document.getElementById("ntfy-button"); const optionsCheck = document.getElementById("optionsCheckbox"); const titleCheck = document.getElementById("titleCheckbox"); const attachmentCheck = document.getElementById("attachmentCheckbox"); const clickCheck = document.getElementById("clickCheckbox"); const titleBoxLabel = document.getElementById("titleBoxLabel"); const attachmentBoxLabel = document.getElementById("attachBoxLabel"); const clickBoxLabel = document.getElementById("clickBoxLabel"); const optionsEnabled = sessionStorage.getItem("optionsEnabled"); const titleEnabled = sessionStorage.getItem("optionsEnabled"); const attachmentEnabled = sessionStorage.getItem("optionsEnabled"); const clickEnabled = sessionStorage.getItem("optionsEnabled"); const titlePFX = "title: "; const msgPFX = "message: "; const attachPFX = "attachment: "; const clickPFX = "click-action: "; function checkBoxes() { if (optionsEnabled) { optionsCheck.checked = true; toggleOptions(); } if (titleEnabled) { titleCheck.checked = true; toggleTitle(); } if (attachmentEnabled) { attachmentCheck.checked = true; toggleAttach(); } if (clickEnabled) { clickCheck.checked = true; toggleClick(); } } // Random placeholder function getPlaceholder() { placeholderSelector = Math.floor(Math.random() * 8) + 1; switch (placeholderSelector) { case 1: ntfyTitle.placeholder = `${titlePFX}hey there`; ntfyMessage.placeholder = `${msgPFX}hi nelle! (。>﹏<。)`; break; case 2: ntfyTitle.placeholder = `${titlePFX}fuck you`; ntfyMessage.placeholder = `${msgPFX}(╹◡╹)凸`; break; case 3: ntfyTitle.placeholder = `${titlePFX}confession of sin`; ntfyMessage.placeholder = `${msgPFX}I dont like SciAdv`; break; case 4: ntfyTitle.placeholder = `${titlePFX}a funny joke`; ntfyMessage.placeholder = `${msgPFX}Knock Knock...`; break; case 5: ntfyTitle.placeholder = `${titlePFX}yes, its me`; ntfyMessage.placeholder = `${msgPFX}El. Psy. Kongroo.`; break; case 6: ntfyTitle.placeholder = `${titlePFX}SDXc^73hce1!3&`; ntfyMessage.placeholder = `${msgPFX}we're watching you.`; break; case 7: ntfyTitle.placeholder = `${titlePFX}haiiii :3`; ntfyMessage.placeholder = `${msgPFX}you wouldnt happen to know where an IBN5100 is, would you?`; break; case 8: ntfyTitle.placeholder = `${titlePFX}an important question`; ntfyMessage.placeholder = `${msgPFX}if you had to choose, between: bacon, unlimited bacon, but no games. or. games. unlimited games, but no games. which would you pick?`; break; case 9: ntfyTitle.placeholder = `${titlePFX}query`; ntfyMessage.placeholder = `${msgPFX}time travel?`; break; default: ntfyTitle.placeholder = `${titlePFX}title the message for some reason?`; ntfyMessage.placeholder = `${msgPFX}type some words and hit send.`; ntfyAttach.placeholder = `${attachPFX}https://http.cat/images/100.jpg`; ntfyClickAction.placeholder = `${clickPFX}https://www.youtube.com/watch?v=dQw4w9WgXcQ` } } // send functions // only message function sendNone(message) { const r = new XMLHttpRequest(); r.open("POST", ntfyEndpoint, true); r.setRequestHeader("Content-Type", "text/plain"); r.send(message); } // send all function sendAll(title, message, attachment, click) { const r = new XMLHttpRequest(); r.open("POST", ntfyEndpoint, true); r.setRequestHeader("Content-Type", "text/plain"); r.setRequestHeader("Title", title); r.setRequestHeader("Attach", attachment); r.setRequestHeader("Click", click); r.send(message); } // send title only function sendTitle(title, message) { const r = new XMLHttpRequest(); r.open("POST", ntfyEndpoint, true); r.setRequestHeader("Content-Type", "text/plain"); r.setRequestHeader("Title", title); r.send(message); } // send attachment only function sendAttach(message, attachment) { const r = new XMLHttpRequest(); r.open("POST", ntfyEndpoint, true); r.setRequestHeader("Content-Type", "text/plain"); r.setRequestHeader("Attach", attachment); r.send(message); } // send click only function sendClick(message, click) { const r = new XMLHttpRequest(); r.open("POST", ntfyEndpoint, true); r.setRequestHeader("Content-Type", "text/plain"); r.setRequestHeader("Click", click); r.send(message); } // send Title & Attachment function sendTitleAttach(title, message, attachment) { const r = new XMLHttpRequest(); r.open("POST", ntfyEndpoint, true); r.setRequestHeader("Content-Type", "text/plain"); r.setRequestHeader("Title", title); r.setRequestHeader("Attach", attachment); r.send(message); } // send Title & Click function sendTitleClick(title, message, click) { const r = new XMLHttpRequest(); r.open("POST", ntfyEndpoint, true); r.setRequestHeader("Content-Type", "text/plain"); r.setRequestHeader("Title", title); r.setRequestHeader("Click", click); r.send(message); } // send Attach & Click function sendAttachClick(message, attachment, click) { const r = new XMLHttpRequest(); r.open("POST", ntfyEndpoint, true); r.setRequestHeader("Content-Type", "text/plain"); r.setRequestHeader("Attach", attachment); r.setRequestHeader("Click", click); r.send(message); } // send notification function sendNotification() { // title only if (titleEnabled && !attachmentEnabled && !clickEnabled) { sendTitle(ntfyTitle.value, ntfyMessage.value); ntfyTitle.value = ""; ntfyMessage.value = ""; } // attachment only if (!titleEnabled && attachmentEnabled && !clickEnabled) { sendAttach(ntfyMessage.value, ntfyAttach.value); ntfyMessage.value = ""; ntfyAttach.value = ""; } // click only if (!titleEnabled && !attachmentEnabled && clickEnabled) { sendClick(ntfyMessage.value, ntfyClickAction.value); ntfyMessage.value = ""; ntfyClickAction.value = ""; } // title & attachment if (titleEnabled && attachmentEnabled && !clickEnabled) { sendTitleAttach(ntfyTitle.value, ntfyMessage.value, ntfyAttach.value); ntfyTitle.value = ""; ntfyMessage.value = ""; ntfyAttach.value = ""; } // title & click if (titleEnabled && !attachmentEnabled && clickEnabled) { sendTitleClick(ntfyTitle.value, ntfyMessage.value, ntfyClickAction.value); ntfyTitle.value = ""; ntfyMessage.value = ""; ntfyClickAction.value = ""; } // attachment & click if (!titleEnabled && attachmentEnabled && clickEnabled) { sendAttachClick(ntfyMessage.value, ntfyAttach.value, ntfyClickAction.value); ntfyAttach.value = ""; ntfyMessage.value = ""; ntfyClickAction.value = ""; } // all three if (titleEnabled && attachmentEnabled && clickEnabled) { sendAll(ntfyTitle.value, ntfyMessage.value, ntfyAttach.value, ntfyClickAction.value); ntfyTitle.value = ""; ntfyMessage.value = ""; ntfyAttach.value = ""; ntfyClickAction.value = ""; } // none else { sendNone(ntfyMessage.value); ntfyMessage.value = ""; } } // on send button click async function ntfyClick() { if (!ntfyMessage.value.replace(/\s/g, "").length) { ntfyButton.innerHTML = "ಠ﹏ಠ"; setTimeout(() => { ntfyButton.innerHTML = "Send"; return; }, 1000); } else { ntfyButton.innerHTML = "Sent! ( ꈍᴗꈍ)"; sendNotification(); setTimeout(() => { ntfyButton.innerHTML = "Send"; }, 1000); } } function toggleOptions() { if (optionsCheck.checked) { sessionStorage.setItem("optionsEnabled", 1); titleBoxLabel.style.display = "initial"; attachmentBoxLabel.style.display = "initial"; clickBoxLabel.style.display = "initial"; titleCheck.style.display = "initial"; attachmentCheck.style.display = "initial"; clickCheck.style.display = "initial"; } if (!optionsCheck.checked) { sessionStorage.removeItem("optionsEnabled"); titleBoxLabel.style.display = "none"; attachmentBoxLabel.style.display = "none"; clickBoxLabel.style.display = "none"; titleCheck.style.display = "none"; attachmentCheck.style.display = "none"; clickCheck.style.display = "none"; } } function toggleTitle() { if (titleCheck.checked) { sessionStorage.setItem("titleEnabled", 1); ntfyTitle.style.display = "initial"; } if (!titleCheck.checked) { sessionStorage.removeItem("titleEnabled"); ntfyTitle.style.display = "none"; } } function toggleAttach() { if (attachmentCheck.checked) { sessionStorage.setItem("attachmentEnabled", 1); ntfyAttach.style.display = "initial"; } if (!attachmentCheck.checked) { sessionStorage.removeItem("attachmentEnabled"); ntfyAttach.style.display = "none"; } } function toggleClick() { if (clickCheck.checked) { sessionStorage.setItem("clickEnabled", 1); ntfyClickAction.style.display = "initial"; } if (!clickCheck.checked) { sessionStorage.removeItem("clickEnabled"); ntfyClickAction.style.display = "none"; } }