// ==UserScript== // @name LZT_Trophy // @namespace https://greasyfork.org/ru/users/1142494-llimonix // @version 0.13 // @description Отображение всех трофеев в профиле пользователя // @author llimonix // @match https://zelenka.guru/* // @match https://lolz.live/* // @icon https://cdn-icons-png.flaticon.com/512/2830/2830919.png // @grant none // @license MIT // @downloadURL none // ==/UserScript== (function() { let pageCounter = $('.page_counter'); if (pageCounter.length > 0) { let hrefValue = pageCounter.attr('href'); let parts = hrefValue.replace('members/', '').split("/"); let value = parts[0]; let trophy; if (~hrefValue.indexOf("members/")) { value = `members/${value}`; } XenForo.ajax(`${value}/trophies`, {}).then(data => { trophy = data.templateHtml; let parser = new DOMParser(); trophy = parser.parseFromString(trophy, 'text/html'); let overlayScrollElements = $(trophy).find('.overlayScroll'); let totalCount = overlayScrollElements.length; if (totalCount > 1) { overlayScrollElements.first().remove(); } let trophies = $(trophy).find('.trophy'); let trophiesList = trophies.map((_, trophy) => trophy.id).get(); let trophiesstyle = $(trophy).find('.trophy-icon'); let trophystyleList = trophiesstyle.map((_, trophy) => { const style = trophy.style.cssText; const match = style.match(/url\((.*?)\)/); return match ? match[1].replace(/['"]/g, '') : null; }).get(); let titletrophy = $(trophy).find('.title'); let titleTexttrophyList = titletrophy.map((_, trophy) => trophy.textContent).get(); let trophyLinks = {}; for (let i = 0; i < titleTexttrophyList.length; i++) { let element = titleTexttrophyList[i]; $(trophy).find('.title:contains(' + element + ')').each(function () { let href = $(this).closest('.trophy').find('.trophy-icon').attr('href'); if (href) { trophyLinks[element] = href; } else { trophyLinks[element] = "None"; } }); } let htmlTrophy = "