my personal website! meowing.zip
website
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

FUCK

Niko 6e084e4e 61181f0c

+113
+113
script.js
··· 1 + function copyButton() { 2 + navigator.clipboard.writeText('<a href="https://meowing.zip"><img src="https://meowing.zip/assets/88x31/button.png" alt="meowing.zip"></a>'); 3 + var x = document.getElementById("copy-toast"); 4 + x.className = "show"; 5 + setTimeout(function(){ x.className = x.className.replace("show", ""); }, 3000); 6 + } 7 + document.addEventListener("DOMContentLoaded", function() { 8 + const t = document.querySelectorAll('input[name="theme"]') 9 + , c = document.querySelectorAll('input[name="color"]') 10 + , i = document.getElementById("disable-bg") 11 + , o = document.getElementById("disable-animations"); 12 + function a() { 13 + const t = document.querySelector('input[name="theme"]:checked').value; 14 + const c = document.querySelector('input[name="color"]:checked').value; 15 + localStorage.setItem("disable-bg", i.checked), 16 + localStorage.setItem("disable-animations", o.checked) 17 + } 18 + !function() { 19 + const t = localStorage.getItem("theme"); 20 + if (t) { 21 + const e = document.querySelector(`input[name="theme"][value="${t}"]`); 22 + e && (e.checked = !0) 23 + } 24 + const c = localStorage.getItem("color"); 25 + if (c) { 26 + const e = document.querySelector(`input[name="color"][value="${t}"]`); 27 + e && (e.checked = !0) 28 + } 29 + "true" === localStorage.getItem("disable-bg") && (i.checked = !0); 30 + "true" === localStorage.getItem("disable-animations") && (o.checked = !0) 31 + }(), 32 + document.addEventListener("DOMContentLoaded", function() { 33 + let e = document.getElementById("alt-popup"); 34 + function t() { 35 + document.querySelectorAll("[alt], [aria-label]").forEach(e => { 36 + e.addEventListener("mousemove", n), 37 + e.addEventListener("mouseout", i) 38 + } 39 + ) 40 + } 41 + function n(t) { 42 + const n = t.target.getAttribute("alt") 43 + , i = t.target.getAttribute("aria-label") 44 + , o = n || i; 45 + if (o) { 46 + e.textContent = o, 47 + e.style.opacity = "0", 48 + e.style.visibility = "visible", 49 + e.style.position = "fixed"; 50 + const n = window.innerWidth 51 + , i = window.innerHeight 52 + , c = e.offsetWidth 53 + , a = e.offsetHeight; 54 + let l = t.clientX + 20 55 + , s = t.clientY + 20; 56 + l + c > n && (l = t.clientX - c - 10), 57 + s + a > i && (s = t.clientY - a - 10), 58 + l < 0 && (l = 10), 59 + s < 0 && (s = 10), 60 + e.style.left = l + "px", 61 + e.style.top = s + "px", 62 + e.style.opacity = "1", 63 + e.style.visibility = "visible" 64 + } 65 + } 66 + function i() { 67 + e.style.opacity = "0", 68 + e.style.visibility = "hidden" 69 + } 70 + if (t(), 71 + window.MutationObserver) { 72 + const e = new MutationObserver(e => { 73 + e.forEach(e => { 74 + e.addedNodes.length && t() 75 + } 76 + ) 77 + } 78 + ); 79 + document.body && e.observe(document.body, { 80 + childList: !0, 81 + subtree: !0 82 + }) 83 + } 84 + }), 85 + t.forEach(e => { 86 + e.addEventListener("change", function() { 87 + a() 88 + }) 89 + } 90 + ), 91 + i.addEventListener("change", a), 92 + o.addEventListener("change", a) 93 + }); 94 + function openTab(evt, tabName) { 95 + // Declare all variables 96 + var i, tabcontent, tablinks; 97 + 98 + // Get all elements with class="tabcontent" and hide them 99 + tabcontent = document.getElementsByClassName("tabcontent"); 100 + for (i = 0; i < tabcontent.length; i++) { 101 + tabcontent[i].style.display = "none"; 102 + } 103 + 104 + // Get all elements with class="tablinks" and remove the class "active" 105 + tablinks = document.getElementsByClassName("tablinks"); 106 + for (i = 0; i < tablinks.length; i++) { 107 + tablinks[i].className = tablinks[i].className.replace(" active", ""); 108 + } 109 + 110 + // Show the current tab, and add an "active" class to the button that opened the tab 111 + document.getElementById(tabName).style.display = "block"; 112 + evt.currentTarget.className += " active"; 113 + }