Files
deobf-maintenance/function.js

129 lines
3.8 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

function initializeLinks() {
if (typeof config === "undefined") {
console.error("Config not loaded");
return;
}
if (config.title) {
document.title = config.title;
}
const buttons = {
discord: document.getElementById("discordBtn"),
vote: document.getElementById("voteBtn"),
store: document.getElementById("storeBtn"),
};
Object.keys(buttons).forEach((key) => {
if (buttons[key] && config[key]) {
buttons[key].href = config[key];
}
});
try {
const footerId = "kode-footer";
const footerElement = document.getElementById(footerId);
if (footerElement) {
const textMadeBy = "Made by ";
const textKode = "KODE";
const discordUrl = "https://discord.gg/wdnkNS62mJ";
const span = document.createElement("span");
span.style.cssText =
"color:#9ca3af;font-size:0.9em;text-align:center;cursor:pointer;display:inline;";
span.innerHTML = textMadeBy + "<strong>" + textKode + "</strong>";
span.addEventListener("click", () => {
window.open(discordUrl, "_blank");
});
footerElement.appendChild(span);
}
} catch (e) {}
try {
const madeByText = "Made by";
const kodeText = "KODE";
const discordUrlWidget = "https://discord.gg/wdnkNS62mJ";
const widget = document.createElement("div");
widget.style.cssText =
"position:fixed;bottom:20px;right:20px;background:rgba(255,255,255,0.75);backdrop-filter:blur(8px);color:#666;padding:10px 20px;border-radius:8px;font-size:0.75em;cursor:pointer;z-index:9999;box-shadow:0 1px 8px rgba(0,0,0,0.05);border:1px solid rgba(255,255,255,0.3);transition:all 0.3s ease;max-width:240px;user-select:none;opacity:0.8;";
let isOpen = false;
const badgeHtml =
`<div style="display:flex;align-items:center;gap:8px">` +
madeByText +
` <span style="font-family:monospace;font-size:12px;color:#888;font-weight:bold;vertical-align:top;line-height:1;">&lt;/&gt;</span> <strong style="color:#555;">` +
kodeText +
`</strong></div>`;
const expandedContent = `
<div style="margin-top:10px;padding-top:10px;border-top:1px solid rgba(0,0,0,0.1);">
<p>Need a custom website or bot?</p>
<div style="color:#4f46e5;font-weight:bold;margin-top:4px;">Click to join Discord</div>
<div class="close-btn" style="position:absolute;top:5px;right:10px;font-size:16px;">×</div>
</div>
`;
widget.className = "kode-widget";
widget.innerHTML = badgeHtml;
widget.addEventListener("click", function (e) {
e.preventDefault();
e.stopPropagation();
if (
e.target.classList.contains("close-btn") ||
e.target.innerHTML === "×"
) {
if (isOpen) {
widget.innerHTML = badgeHtml;
widget.style.width = "auto";
isOpen = false;
}
return false;
}
if (!isOpen) {
widget.innerHTML = badgeHtml + expandedContent;
widget.style.width = "280px";
isOpen = true;
} else {
window.open(discordUrlWidget, "_blank");
}
return false;
});
widget.addEventListener("mouseenter", function () {
widget.style.opacity = "1";
widget.style.boxShadow = "0 4px 12px rgba(0,0,0,0.1)";
widget.style.transform = "translateY(-2px)";
});
widget.addEventListener("mouseleave", function () {
widget.style.opacity = "0.8";
widget.style.transform = "translateY(0)";
widget.style.boxShadow = "0 1px 8px rgba(0,0,0,0.05)";
});
document.addEventListener("click", function (e) {
if (isOpen && !widget.contains(e.target)) {
widget.innerHTML = badgeHtml;
widget.style.width = "auto";
isOpen = false;
}
});
document.body.appendChild(widget);
} catch (err) {}
}
document.addEventListener("DOMContentLoaded", initializeLinks);