Загрузка...

Кнопки на плитке аккаунта, вместо выпадающего меню

Тема в разделе Дополнения создана пользователем maksemen1 6 апр 2024. 134 просмотра

Загрузка...
  1. maksemen1
    maksemen1 Автор темы 6 апр 2024 мани с гейма https://zelenka.guru/threads/5792572/ 8574 28 июл 2018
    Написано с использованием чата ЖПТ, ответственности НЕ НЕСУ. Используйте на свой страх и риск. Какашками не бросаться.

    Будьте осторожны с тем что аккаунты остаются выделенными даже после перехода на другую страницу, если вы поставили и не сняли выделение.


    JS
    // ==UserScript==
    // @name Выносим кнопки из выпадающего списка прямо на плитку аккаунта
    // @namespace http://tampermonkey.net/
    // @version 0.1
    // @description Выносим кнопки из выпадающего списка прямо на плитку аккаунта
    // @author You
    // @match https://lzt.market/user/items*
    // @grant none
    // ==/UserScript==

    (function() {
    'use strict';

    // Стиль для кнопок
    var buttonStyle = "padding: 0px 10px; background-color: rgb(54, 54, 54); color: rgb(210, 210, 210); border: none; border-radius: 6px; margin-right: 0px; cursor: pointer; vertical-align: top;";

    // Найти все элементы с классом marketIndexItem
    var items = document.querySelectorAll('.marketIndexItem');

    items.forEach(function(item) {
    var itemId = item.id.split('--')[1]; // Получить id из родителя

    // Создать кнопку "Редактировать" с соответствующим href
    var editButton = document.createElement('a');
    editButton.setAttribute('class', 'button OverlayTrigger');
    editButton.innerText = 'Описание';
    editButton.setAttribute('style', buttonStyle); // Применить стиль

    // Создать кнопку "Открыть" с эмуляцией нажатия
    var openButton = document.createElement('a');
    openButton.setAttribute('class', 'button OverlayTrigger');
    openButton.innerText = 'Открыть/Закрыть';
    openButton.setAttribute('style', buttonStyle); // Применить стиль
    openButton.addEventListener('click', function() {
    console.log('.OverlayTrigger[href="' + itemId + '/open-close"]');
    var existingOpenButton = document.querySelector('.OverlayTrigger[href="' + itemId + '/open-close"]').click();
    });
    var titleButton = document.createElement('a');
    titleButton.setAttribute('class', 'button OverlayTrigger');
    titleButton.innerText = 'Заголовок';
    titleButton.setAttribute('style', buttonStyle); // Применить стиль


    var deleteButton = document.createElement('a');
    deleteButton.setAttribute('class', 'button OverlayTrigger');
    deleteButton.innerText = 'Удалить';
    deleteButton.setAttribute('style', buttonStyle); // Применить стиль
    deleteButton.addEventListener('click', function() {
    console.log('.OverlayTrigger[href="' + itemId + '/delete"]');
    var existingOpenButton = document.querySelector('.OverlayTrigger[href="' + itemId + '/delete"]').click();
    });
    // Найти целевой div в текущем элементе
    var targetDiv = item.querySelector('.buttons');

    // Добавить кнопки в div
    if (targetDiv) {
    targetDiv.appendChild(editButton);
    targetDiv.appendChild(titleButton);
    targetDiv.appendChild(openButton);
    targetDiv.appendChild(deleteButton);
    }
    });

    function clearCheckboxes() {
    // Находим все активные чекбоксы на странице
    var checkboxes = document.querySelectorAll('input[type="checkbox"].InlineModCheck.item:checked');
    checkboxes.forEach(function(checkbox) {
    checkbox.click(); // Снимаем выделение с каждого чекбокса
    console.log('clicked');
    });
    }

    function activateCheckboxAndClickEditButton() {
    clearCheckboxes(); // Сначала снимаем выделение со всех чекбоксов

    let parentLi = this.closest('li');

    if(parentLi) {
    let checkbox = parentLi.querySelector('input[type="checkbox"].InlineModCheck.item');
    if(checkbox && !checkbox.checked) {
    checkbox.click();
    }

    var select = document.getElementById('ModerationSelect');
    select.value = 'editDescription';
    var event = new Event('change', { bubbles: true });
    select.dispatchEvent(event);
    }
    }
    function activateCheckboxAndClickTitleButton() {
    clearCheckboxes(); // Сначала снимаем выделение со всех чекбоксов

    let parentLi = this.closest('li');

    if(parentLi) {
    let checkbox = parentLi.querySelector('input[type="checkbox"].InlineModCheck.item');
    if(checkbox && !checkbox.checked) {
    checkbox.click();
    }

    var select = document.getElementById('ModerationSelect');
    select.value = 'editTitle';
    var event = new Event('change', { bubbles: true });
    select.dispatchEvent(event);
    }
    }

    // Привязка функции к кнопкам "Редактировать" и "Открыть"
    document.querySelectorAll('.button.OverlayTrigger').forEach(button => {
    if(button.innerText.trim() === 'Описание') {
    button.addEventListener('click', activateCheckboxAndClickEditButton);
    }
    });
    // Привязка функции к кнопкам "Редактировать" и "Открыть"
    document.querySelectorAll('.button.OverlayTrigger').forEach(button => {
    if(button.innerText.trim() === 'Заголовок') {
    button.addEventListener('click', activateCheckboxAndClickTitleButton);
    }
    });

    })();
    [IMG]
     
    6 апр 2024 Изменено
  2. inletah
    inletah 6 апр 2024 Уууууууу реклама - lolz.live/threads/7756293/
    спасибо. пойду на каждый акк +1 к цене добавлять скриптом. играть на нервах покупателей весело
     
Top