Fast link for forum Black Russia | Быстрые ссылки для модерации

Компактные стеклянные кнопки для модерации (оптимизировано для мобильных)

// ==UserScript==
// @name         Fast link for forum Black Russia | Быстрые ссылки для модерации
// @namespace    https://forum.blackrussia.online
// @version      1.3
// @description  Компактные стеклянные кнопки для модерации (оптимизировано для мобильных)
// @author       Rasul
// @match        https://forum.blackrussia.online/*
// @icon        https://i.postimg.cc/mkYpYfXx/photo-2025-05-01-19-08-17.jpg
// @grant        none
// @license      MIT
// ==/UserScript==

(function() {
    'use strict';

    const buttonsContainer = document.createElement("div");
    buttonsContainer.id = "glass-buttons-container";
    buttonsContainer.style.position = "fixed";
    buttonsContainer.style.top = "8px";
    buttonsContainer.style.left = "50%";
    buttonsContainer.style.transform = "translateX(-50%)";
    buttonsContainer.style.display = "flex";
    buttonsContainer.style.flexWrap = "wrap";
    buttonsContainer.style.gap = "6px";
    buttonsContainer.style.zIndex = "9999";
    buttonsContainer.style.justifyContent = "center";
    buttonsContainer.style.maxWidth = "90%";
    buttonsContainer.style.backdropFilter = "blur(4px)";
    buttonsContainer.style.padding = "6px 8px";
    buttonsContainer.style.borderRadius = "10px";
    buttonsContainer.style.background = "rgba(255, 255, 255, 0.08)";
    buttonsContainer.style.boxShadow = "0 2px 6px rgba(0, 0, 0, 0.1)";
    buttonsContainer.style.border = "1px solid rgba(255, 255, 255, 0.1)";


    const buttonStyle = {
        background: "rgba(255, 255, 255, 0.12)",
        color: "#fff",
        border: "1px solid rgba(255, 255, 255, 0.15)",
        borderRadius: "8px",
        padding: "4px 10px",
        fontSize: "11px",
        cursor: "pointer",
        fontFamily: "'Cuprum', sans-serif",
        fontWeight: "500",
        boxShadow: "0 1px 4px rgba(0, 0, 0, 0.1)",
        transition: "all 0.25s ease",
        minWidth: "120px",
        textAlign: "center",
        backdropFilter: "blur(3px)",
        textShadow: "0 1px 1px rgba(0, 0, 0, 0.2)",
        height: "26px",
        lineHeight: "18px",
        margin: "0",
        whiteSpace: "nowrap",
        overflow: "hidden",
        textOverflow: "ellipsis"
    };

    function createButton(text, url) {
        const button = document.createElement("button");
        button.textContent = text;
        button.title = text; // Добавляем подсказку для обрезанного текста

        Object.assign(button.style, buttonStyle);

        button.addEventListener("mouseover", () => {
            button.style.background = "rgba(255, 255, 255, 0.2)";
            button.style.transform = "translateY(-1px)";
            button.style.boxShadow = "0 2px 6px rgba(0, 0, 0, 0.15)";
        });

        button.addEventListener("mouseout", () => {
            button.style.background = "rgba(255, 255, 255, 0.12)";
            button.style.transform = "translateY(0)";
            button.style.boxShadow = "0 1px 4px rgba(0, 0, 0, 0.1)";
        });

        button.addEventListener("click", () => {
            button.style.background = "rgba(255, 255, 255, 0.25)";
            setTimeout(() => {
                window.location.href = url;
            }, 120);
        });

        buttonsContainer.appendChild(button);
    }


    createButton("Админ раздел", 'https://forum.blackrussia.online/forums/%D0%90%D0%B4%D0%BC%D0%B8%D0%BD-%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB.2474/');
    createButton("Доп баллы", 'https://forum.blackrussia.online/threads/%D0%97%D0%B0%D1%8F%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BD%D0%B0-%D0%BF%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B4%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D1%85-%D0%B1%D0%B0%D0%BB%D0%BB%D0%BE%D0%B2-arkhangelsk.7547907/page-125#post-52167171');
    createButton("Жалобы на адм", 'https://forum.blackrussia.online/forums/%D0%96%D0%B0%D0%BB%D0%BE%D0%B1%D1%8B-%D0%BD%D0%B0-%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%86%D0%B8%D1%8E.2498/');
    createButton("Жалобы на игр", 'https://forum.blackrussia.online/forums/%D0%96%D0%B0%D0%BB%D0%BE%D0%B1%D1%8B-%D0%BD%D0%B0-%D0%B8%D0%B3%D1%80%D0%BE%D0%BA%D0%BE%D0%B2.2500/');
    createButton("Жалобы на лид", 'https://forum.blackrussia.online/forums/%D0%96%D0%B0%D0%BB%D0%BE%D0%B1%D1%8B-%D0%BD%D0%B0-%D0%BB%D0%B8%D0%B4%D0%B5%D1%80%D0%BE%D0%B2.2499/');
    createButton("Обжалование", 'https://forum.blackrussia.online/forums/%D0%9E%D0%B1%D0%B6%D0%B0%D0%BB%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BD%D0%B0%D0%BA%D0%B0%D0%B7%D0%B0%D0%BD%D0%B8%D0%B9.2501/');
    createButton("Заявки АП", 'https://forum.blackrussia.online/forums/%D0%90%D0%B3%D0%B5%D0%BD%D1%82%D1%8B-%D0%BF%D0%BE%D0%B4%D0%B4%D0%B5%D1%80%D0%B6%D0%BA%D0%B8.3223/');
    createButton("Заявки ЛД", 'https://forum.blackrussia.online/forums/%D0%9B%D0%B8%D0%B4%D0%B5%D1%80%D1%8B.3224/');
    createButton("Правила", 'https://forum.blackrussia.online/threads/%D0%9E%D0%B1%D1%89%D0%B8%D0%B5-%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%BE%D0%B2.312571/');

    document.body.appendChild(buttonsContainer);


    const mobileStyle = document.createElement("style");
    mobileStyle.textContent = `
        @media (max-width: 768px) {
            #glass-buttons-container {
                top: 4px;
                padding: 4px 6px;
                gap: 4px;
                border-radius: 8px;
                max-width: 98%;
            }
            #glass-buttons-container button {
                padding: 3px 6px;
                font-size: 10px;
                min-width: 80px;
                height: 24px;
                border-radius: 6px;
                white-space: nowrap;
                overflow: hidden;
                text-overflow: ellipsis;
            }
        }
        @media (max-width: 480px) {
            #glass-buttons-container {
                flex-wrap: nowrap;
                overflow-x: auto;
                justify-content: flex-start;
                padding: 4px;
                -webkit-overflow-scrolling: touch;
            }
            #glass-buttons-container button {
                min-width: 70px;
                font-size: 9px;
                padding: 2px 4px;
                flex-shrink: 0;
            }
        }
        @media (max-width: 360px) {
            #glass-buttons-container button {
                min-width: 60px;
                font-size: 8px;
            }
        }
    `;
    document.head.appendChild(mobileStyle);
})();