您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Just a simple script that helps you manage your skins.
// ==UserScript== // @name Skin Manager (gota.io) // @namespace http://tampermonkey.net/ // @version 0.63 // @description Just a simple script that helps you manage your skins. // @author Amy // @match https://skins.gota.io/skins // @downloadUrl // @icon https://skin-data.gota.io/e6e200b3-5e6d-406f-8ab6-0338f4ba09cf.png // @resource IMPORTED_CSS https://raw.githubusercontent.com/Aymayy/css-files/main/style.css // @grant GM_getResourceText // @grant GM_addStyle // ==/UserScript== (function() { 'use strict'; const my_css = GM_getResourceText("IMPORTED_CSS"); GM_addStyle(my_css); const local__storage = window.localStorage; const default__skin__size = 250; const default__cols = 5; const container__of__container = document.querySelector('.px-8.py-3.border-t.border-gray-700'); const submit__button = document.querySelector('.button.is-primary'); let gallery__skins__data = {}; let gallery__skins = {}; let searched__gallery__skins = {}; let skin__data = {}; let skin__elements = {}; let searched__skins = {}; let gallery__state = false; let skin__code = ''; let bottom__scrolls = 1; let skins__each__scroll = 50; let is__sorted = false; let randomized__skins = {}; let randomized__gallery__skins = {}; //Create and Add and Remove DOM elements const container__header = document.querySelector('.flex.justify-between') const navbar = document.querySelector('nav'); const remove__element = container__header.querySelector('.flex.items-center'); remove__element.remove(); const submit__button__parent = submit__button.parentElement; submit__button__parent.classList.add('submit__button__parent'); const myskins__container = document.querySelector('.grid.grid-cols-4.gap-4'); myskins__container.classList.add('myskins__container'); const skinSliderString = `<div class="slider-container" style="display: flex; justify-content: space-between; align-items: center; width: 15rem;"><label>Size</label><input type="range" min="50" max="1000" value="${default__skin__size}" class="slider skinSlider" id="myRange"><span class="skinSpan">${default__skin__size}</span></div>`; const columsSliderString = `<div class="slider-container" style="display: flex; justify-content: space-between; align-items: center; width: 15rem;"><label>Cols</label><input type="range" min="1" max="25" value="${default__cols}" class="slider colSlider" id="myRange"><span class="colSpan">${default__cols}</span></div>`; const searchInputString = `<div class="form__group field"><input type="input" class="search__input form__field" autocapitalize="off" spellcheck="false" placeholder="Search" name="name" id='name' required /><label for="name" class="form__label">Search</label></div>`; const sortButtonString = `<button class="corner-button"><span>Sort</span></button>`; const galleryString = `<a class="gallery__icon__container flex items-center"><svg class="gallery__icon" height="30pt" viewBox="1 -47 511.999 511" width="30pt" xmlns="http://www.w3.org/2000/svg"><path d="m469.488281 84.417969h-4.390625c-2.570312-22.023438-20.292968-39.484375-42.441406-41.621094-2.542969-23.742187-22.683594-42.296875-47.085938-42.296875h-302.21875c-40.445312 0-73.351562 32.90625-73.351562 73.347656v211.902344c0 24.574219 18.804688 44.828125 42.773438 47.144531 2.515624 23.488281 22.261718 41.886719 46.3125 42.273438.0625 4.167969.714843 8.191406 1.898437 11.988281 5.386719 17.292969 21.550781 29.882812 40.59375 29.882812h337.910156c23.441407 0 42.511719-19.070312 42.511719-42.507812v-247.601562c0-23.441407-19.070312-42.511719-42.511719-42.511719zm22.511719 42.511719v163.738281l-43.5-32.859375c-11.886719-8.976563-27.960938-9.117188-40-.347656l-55.027344 40.09375-104.9375-108.1875c-12.5-12.890626-32.839844-13.683594-46.304687-1.800782l-93.160157 82.191406v-142.828124c0-12.414063 10.097657-22.511719 22.507813-22.511719h337.910156c12.414063 0 22.511719 10.097656 22.511719 22.511719zm0 247.597656c0 12.414062-10.097656 22.511718-22.507812 22.511718h-337.914063c-10.082031 0-18.640625-6.667968-21.492187-15.824218-.660157-2.113282-1.015626-4.359375-1.015626-6.683594v-78.105469l106.394532-93.863281c5.441406-4.804688 13.660156-4.484375 18.714844.726562l47.359374 48.828126c0 .003906 0 .003906.003907.003906l94.261719 97.183594c1.960937 2.023437 4.566406 3.039062 7.179687 3.039062 2.507813 0 5.019531-.9375 6.960937-2.820312 3.960938-3.847657 4.058594-10.175782.214844-14.140626l-22.625-23.328124 52.742188-38.425782c4.867187-3.546875 11.363281-3.492187 16.167968.136719l55.554688 41.964844zm-429.5-46.707032v-236.109374c0-1.003907.050781-2 .152344-2.976563 1.492187-14.675781 13.925781-26.164063 28.988281-26.164063h122.320313c5.523437 0 10-4.476562 10-10 0-5.523437-4.476563-10-10-10h-122.320313c-27.097656 0-49.140625 22.042969-49.140625 49.140626v220.976562c-12.777344-2.300781-22.5-13.503906-22.5-26.9375v-211.902344c0-29.414062 23.933594-53.347656 53.351562-53.347656h302.21875c13.273438 0 24.371094 9.503906 26.84375 22.070312h-108.453124c-5.523438 0-10 4.476563-10 10 0 5.523438 4.476562 10 10 10h118.96875.011718 5.128906c13.195313 0 24.242188 9.394532 26.800782 21.847657h-313.292969c-23.4375 0-42.507813 19.070312-42.507813 42.511719v164.976562.007812 63.253907c-14.722656-.417969-26.570312-12.523438-26.570312-27.347657zm0 0"></path><path d="m388.515625 145.117188c-23.601563 0-42.796875 19.199218-42.796875 42.792968 0 23.597656 19.199219 42.796875 42.796875 42.796875 23.59375 0 42.792969-19.199219 42.792969-42.796875 0-23.59375-19.199219-42.792968-42.792969-42.792968zm0 65.589843c-12.570313 0-22.796875-10.226562-22.796875-22.792969 0-12.570312 10.226562-22.796874 22.796875-22.796874 12.566406 0 22.792969 10.226562 22.792969 22.796874 0 12.566407-10.226563 22.792969-22.792969 22.792969zm0 0"></path><path d="m244.730469 56.398438c.25.601562.558593 1.179687.917969 1.722656.363281.546875.78125 1.058594 1.242187 1.519531.460937.457031.96875.878906 1.519531 1.25.539063.359375 1.128906.667969 1.730469.917969.597656.25 1.230469.441406 1.871094.570312.636719.128906 1.296875.191406 1.949219.191406.660156 0 1.308593-.0625 1.960937-.191406.636719-.128906 1.257813-.320312 1.867187-.570312.601563-.25 1.179688-.558594 1.722657-.917969.546875-.371094 1.058593-.792969 1.519531-1.25.46875-.460937.878906-.972656 1.25-1.519531.359375-.542969.667969-1.121094.917969-1.722656.25-.609376.441406-1.238282.570312-1.867188.128907-.652344.191407-1.3125.191407-1.960938 0-.652343-.0625-1.3125-.191407-1.949218-.128906-.640625-.320312-1.273438-.570312-1.871094-.25-.609375-.558594-1.191406-.917969-1.730469-.371094-.550781-.78125-1.058593-1.25-1.519531-.460938-.460938-.972656-.878906-1.519531-1.242188-.542969-.359374-1.121094-.667968-1.722657-.917968-.609374-.25-1.230468-.441406-1.867187-.570313-1.292969-.261719-2.621094-.261719-3.910156 0-.640625.128907-1.273438.320313-1.871094.570313-.601563.25-1.191406.558594-1.730469.917968-.550781.363282-1.058594.78125-1.519531 1.242188s-.878906.96875-1.242187 1.519531c-.359376.539063-.667969 1.121094-.917969 1.730469-.25.597656-.441407 1.230469-.570313 1.871094-.128906.636718-.199218 1.296875-.199218 1.949218 0 .648438.070312 1.308594.199218 1.960938.128906.628906.320313 1.257812.570313 1.867188zm0 0"></path></svg><h3 class="gallery__label text-lg leading-6 font-medium text-gray-200">My Skins</h3></a>`; const empty__gallery__container__string = `<div class="gallery__container grid grid-cols-4 gap-4"></div>`; const empty__myskins__container__string = `<div class="myskins__container grid grid-cols-4 gap-4"></div>`; const gallery__navbar__string = `<div class="gallery__navbar__container px-4 py-5 sm:px-6 flex justify-between "></div>`; const add__skin__button__string = `<div class="add__skin__button__container"><a class="add__skin__button button is-primary">Add Skin By Code</a></div>`; const dice__string = `<svg id="Layer_9" enable-background="new 100 100 412 412" height="40" viewBox="0 0 512 512" width="40"><path class="path_one" d="m491 128.984v254.034c0 12.6-7.252 24.078-18.638 29.498l-202.286 96.303c-4.448 2.124-9.268 3.181-14.076 3.181s-9.617-1.057-14.065-3.181l-202.296-96.303c-11.387-5.42-18.639-16.898-18.639-29.498v-254.034c0-6.546 1.952-12.788 5.441-18.038 3.206-4.858 7.731-8.866 13.204-11.459l202.29-96.31c8.897-4.237 19.234-4.237 28.142 0l202.29 96.31c5.473 2.592 9.987 6.601 13.193 11.459 3.488 5.25 5.44 11.491 5.44 18.038z" fill="#e53935"/><path class="path_two" d="m485.559 110.946c-3.206-4.858-7.72-8.866-13.193-11.459l-202.29-96.31c-8.908-4.237-19.244-4.237-28.142 0l-1.39.662 200.9 95.648c5.473 2.592 9.988 6.601 13.193 11.459 3.489 5.25 5.441 11.491 5.441 18.038v254.034c0 12.6-7.252 24.078-18.638 29.498l-200.896 95.641 1.39.662c4.449 2.124 9.258 3.181 14.066 3.181s9.628-1.057 14.076-3.181l202.286-96.303c11.386-5.42 18.638-16.898 18.638-29.498v-254.034c0-6.547-1.952-12.788-5.441-18.038z" fill="#d32f2f"/><path class="path_three" d="m256 220.239v291.761c-4.808 0-9.617-1.057-14.065-3.181l-202.296-96.303c-11.387-5.42-18.639-16.898-18.639-29.498v-254.034c0-6.546 1.952-12.788 5.441-18.038z" fill="#f44336"/><path class="path_four" d="m491 128.984v254.041c0 12.461-7.109 23.843-18.296 29.333-.109.054-.229.109-.338.163l-202.29 96.299c-4.448 2.123-9.268 3.18-14.076 3.18v-291.761l229.559-109.293c3.489 5.25 5.441 11.491 5.441 18.038z" fill="#d32f2f"/><path class="path_five" d="m485.559 110.946-25.994 12.376c.326 1.851.513 3.741.513 5.662v254.041c0 12.461-7.109 23.843-18.296 29.333-.109.054-.229.109-.338.163l-185.444 88.28v11.199c4.808 0 9.628-1.057 14.076-3.181l202.29-96.299c.109-.054.229-.109.338-.163 11.187-5.49 18.296-16.872 18.296-29.333v-254.04c0-6.547-1.952-12.788-5.441-18.038z" fill="#c62828"/><g fill="#f1f1f1"><ellipse cx="389.64" cy="306.507" rx="26.736" ry="19.708" transform="matrix(.134 -.991 .991 .134 33.735 651.612)"/><ellipse cx="190.492" cy="263.252" rx="19.607" ry="26.736" transform="matrix(.999 -.055 .055 .999 -14.066 10.775)"/><ellipse cx="78.302" cy="360.193" rx="19.607" ry="26.736" transform="matrix(.999 -.055 .055 .999 -19.517 4.803)"/><ellipse cx="161.083" cy="104.225" rx="26.736" ry="19.607" transform="matrix(.999 -.055 .055 .999 -5.442 8.935)"/><ellipse cx="253.668" cy="58.477" rx="26.736" ry="19.607" transform="matrix(.999 -.055 .055 .999 -2.81 13.914)"/><ellipse cx="350.609" cy="107.492" rx="26.736" ry="19.607" transform="matrix(.999 -.055 .055 .999 -5.338 19.27)"/><ellipse cx="260.203" cy="149.972" rx="26.736" ry="19.607" transform="matrix(.999 -.055 .055 .999 -7.788 14.406)"/></g></svg>`; const star__string = `<svg class='star' width="35" height="35" viewBox="0 -10 511.98685 511"><path class='star_path' d="m510.652344 185.902344c-3.351563-10.367188-12.546875-17.730469-23.425782-18.710938l-147.773437-13.417968-58.433594-136.769532c-4.308593-10.023437-14.121093-16.511718-25.023437-16.511718s-20.714844 6.488281-25.023438 16.535156l-58.433594 136.746094-147.796874 13.417968c-10.859376 1.003906-20.03125 8.34375-23.402344 18.710938-3.371094 10.367187-.257813 21.738281 7.957031 28.90625l111.699219 97.960937-32.9375 145.089844c-2.410156 10.667969 1.730468 21.695313 10.582031 28.09375 4.757813 3.4375 10.324219 5.1875 15.9375 5.1875 4.839844 0 9.640625-1.304687 13.949219-3.882813l127.46875-76.183593 127.421875 76.183593c9.324219 5.609376 21.078125 5.097657 29.910156-1.304687 8.855469-6.417969 12.992187-17.449219 10.582031-28.09375l-32.9375-145.089844 111.699219-97.941406c8.214844-7.1875 11.351563-18.539063 7.980469-28.925781zm0 0" fill="#ffc107"/></svg>`; const spacer_string = `<div class='spacer'></div>`; const skinSlider = document.createRange().createContextualFragment(skinSliderString); const columnSlider = document.createRange().createContextualFragment(columsSliderString); const searchInput = document.createRange().createContextualFragment(searchInputString); const sortButton = document.createRange().createContextualFragment(sortButtonString); const gallery = document.createRange().createContextualFragment(galleryString); const dice = document.createRange().createContextualFragment(dice__string); const star = document.createRange().createContextualFragment(star__string); const spacer = document.createRange().createContextualFragment(spacer_string); const slidersContainer = document.createElement('div'); slidersContainer.classList.add('sliders-container'); slidersContainer.style = 'display: flex; justify-content: space-around; align-items: center; width: 40%'; slidersContainer.appendChild(skinSlider); slidersContainer.appendChild(spacer.cloneNode(true)); slidersContainer.appendChild(columnSlider); slidersContainer.appendChild(spacer.cloneNode(true)); container__header.insertBefore(slidersContainer, container__header.children[0]); container__header.insertBefore(searchInput, container__header.children[0]); container__header.insertBefore(sortButton, container__header.children[0]); container__header.insertBefore(gallery, container__header.children[0]); container__header.insertBefore(dice, container__header.children[2]); container__header.insertBefore(star, container__header.children[1]); container__header.insertBefore(spacer.cloneNode(true), container__header.children[1]); container__header.insertBefore(spacer.cloneNode(true), container__header.children[3]); //Initialize defaults (function() { const container = document.querySelector('.myskins__container'); const skins = container.querySelectorAll('.flex.flex-col'); const slider1 = document.querySelector('.skinSlider'); const slider2 = document.querySelector('.colSlider'); const searchInput = document.querySelector('.search__input'); get__myskins(); fetch__skins(); update__skins(); slider1.value = default__skin__size; slider2.value = default__cols; const grid = document.querySelector('.grid.grid-cols-4.gap-4'); grid.style.gridTemplateColumns = `repeat(${default__cols},minmax(0,1fr))`; //Fix/custom some styling skins.forEach(skin => { const img = skin.querySelector('img'); img.style.maxWidth = 'none'; img.style.width = `${default__skin__size}px`; skin.style.justifyContent = 'center' skin.style.alignItems = 'center'; }); })(); //Event Listeners document.querySelector('.gallery__icon__container').addEventListener('click', function (e) { gallery__state = !gallery__state; searched__skins = {}; searched__gallery__skins = {}; if(gallery__state) { const container = document.querySelector('.myskins__container'); const empty__container = document.createRange().createContextualFragment(empty__gallery__container__string); const add__skin__button = document.createRange().createContextualFragment(add__skin__button__string); const gallery__text = document.querySelector('.gallery__label'); const search__bar = document.querySelector('.search__input'); search__bar.value = ''; gallery__text.innerText = 'Gallery'; container.remove(); container__of__container.appendChild(empty__container); submit__button__parent.remove(); container__header.appendChild(add__skin__button); randomized__gallery__skins = {}; randomized__skins = {}; sort__handler(undefined, false); //Add skins here update__skins(); document.querySelector('.add__skin__button').addEventListener('click', handle__click); }else { const gallery__text = document.querySelector('.gallery__label'); const container = document.createRange().createContextualFragment(empty__myskins__container__string); const search__bar = document.querySelector('.search__input'); search__bar.value = ''; gallery__text.innerText = 'My Skins'; document.querySelector('.add__skin__button').removeEventListener("click", handle__click, false); document.querySelector('.add__skin__button__container').remove(); container__header.appendChild(submit__button__parent); document.querySelector('.gallery__container').remove(); container__of__container.appendChild(container); randomized__gallery__skins = {}; randomized__skins = {}; sort__handler(undefined, false); //Add skins here update__skins(); } }); document.querySelector('.corner-button').addEventListener('click', sort__handler); document.querySelector('#Layer_9').addEventListener('click', randomize__skins); document.querySelector('.star').addEventListener('click', get__favorite__skins); document.querySelector('.search__input').addEventListener('input', input__search, false); document.querySelector('.skinSlider').addEventListener('input', update__skin__size, false); document.querySelector('.colSlider').addEventListener('input', update__skin__col, false); document.querySelector('.skinSlider').addEventListener('change', scroll__event__onchange, false); document.querySelector('.colSlider').addEventListener('change', scroll__event__onchange, false); window.onscroll = scroll__event; //Remove the annoying logo const containerSize = document.querySelector('.container.flex.flex-col.items-center.justify-center.mx-auto'); containerSize.firstElementChild.remove(); containerSize.firstElementChild.style.width = '100%'; // ⬇------⬇ Functions ⬇------⬇ //Remove skins from DOM function remove__skins() { const container = document.querySelector('.myskins__container'); if(gallery__state) { const gal__container = document.querySelector('.gallery__container'); gal__container.innerHTML = ''; }else { container.innerHTML = ''; } }; function update__skin__size() { const span = document.querySelector('.skinSpan'); const e = document.querySelector('.skinSlider'); span.innerText = e.value; if(gallery__state) { const container = document.querySelector('.gallery__container'); const gallery__skins = container.querySelectorAll('.flex.flex-col'); gallery__skins.forEach(skin => { const img = skin.querySelector('img'); img.style.width = `${e.value}px`; }); }else { const container = document.querySelector('.myskins__container'); const skins = container.querySelectorAll('.flex.flex-col'); skins.forEach(skin => { const img = skin.querySelector('img'); img.style.width = `${e.value}px`; }); } } function update__skin__col() { const span = document.querySelector('.colSpan'); const e = document.querySelector('.colSlider'); span.innerText = e.value; const grid = document.querySelector('.grid.grid-cols-4.gap-4'); grid.style.gridTemplateColumns = `repeat(${e.value},minmax(0,1fr))`; } function sort__object(o) { var sorted = {}, key, a = []; for (key in o) { if (o.hasOwnProperty(key)) { a.push(key); } } var collator = new Intl.Collator(undefined, {numeric: true, sensitivity: 'base'}); a.sort(collator.compare); for (key = 0; key < a.length; key++) { sorted[a[key]] = o[a[key]]; } return sorted; } function is__empty(obj) { for(var prop in obj) { if(obj.hasOwnProperty(prop)) { return false; } } return true; } async function handle__click(e) { skin__code = prompt("Enter skin code:\nHere you find how to get code for a skin:\nhttps://github.com/Aymayy/css-files", ""); if(skin__code === null || skin__code === '') { console.log("Cancelled"); return 0; }else { await submit__skin__code(skin__code); fetch__skins(); } } function httpGetAsync(theUrl, callback) { var xmlHttp = new XMLHttpRequest(); xmlHttp.onreadystatechange = function() { if (xmlHttp.readyState == 4 && xmlHttp.status == 200) { callback(xmlHttp.responseText); } } xmlHttp.open("GET", theUrl, true); // true for asynchronous xmlHttp.send(null); } async function submit__skin__code(code) { const url = `https://skins-data.com/skins/${code}`; let username = document.querySelector('.mx-2.text-base.text-semibold.text-gray-300'); username.style.fontFamily = 'Arial, Helvetica, sans-serif'; username = username.innerText.toString(); console.log(username); const headers = { 'Content-Type': 'application/json' } const body = { username } var fetch__data; await fetch(url, { method: 'POST', headers, body: JSON.stringify(body) }) .then((response) => { return response.text(); }) .then((data) => { fetch__data = JSON.parse(data); if(fetch__data.message) { alert(fetch__data.message); update__local__storage(); update__skins(); }else if(fetch__data.error) { alert(fetch__data.error); } }); } function update__skins() { if(gallery__state) { if(local__storage.getItem('__skins')) { gallery__skins = JSON.parse(local__storage.getItem('__skins')); } if(is__empty(searched__gallery__skins) && document.querySelector('.search__input').value !== ''){ gallery__skins = {}; }else if(!is__empty(searched__gallery__skins)) { gallery__skins = searched__gallery__skins; } if(is__sorted) { gallery__skins = sort__object(gallery__skins); randomized__gallery__skins = {}; } if(!is__empty(randomized__gallery__skins)) { gallery__skins = randomized__gallery__skins; } const gal__container = document.querySelector('.gallery__container'); gal__container.innerHTML = ''; let i = 0; remove__skins(); for(const skin in gallery__skins) { if(i === bottom__scrolls * skins__each__scroll) break; const skin__template__string = `<div class="gallery__skin flex flex-col" style="justify-content: center; align-items: center;"><a href="/skins/${gallery__skins[skin]}"><img class="rounded-full" src="https://skin-data.gota.io/${gallery__skins[skin]}.png" style="max-width: none; width: 250px;"></a><div class="inline-flex justify-center items-center"><span class="text-lg font-bold">${skin}</span></div></div>`; const skin__template = document.createRange().createContextualFragment(skin__template__string); skin__template.querySelector('img').setAttribute('loading', 'lazy'); document.querySelector('.gallery__container').appendChild(skin__template); i++; } }else { const container = document.querySelector('.myskins__container'); skin__elements = skin__data; if(is__empty(searched__skins) && document.querySelector('.search__input').value !== ''){ skin__elements = {}; }else if(!is__empty(searched__skins)) { skin__elements = searched__skins; } if(is__sorted) { skin__elements = sort__object(skin__elements); randomized__skins = {}; }else if(!is__empty(randomized__skins)) { skin__elements = randomized__skins; } remove__skins(); for(const element in skin__elements) { //const add_favorite__button__string = `<svg class='add_favorite' version="1.1" id="Layer_1" x="0px" y="0px" width="40" height="40" viewBox="0 0 286.054 286.054" style="enable-background:new 0 0 286.054 286.054;" xml:space="preserve"><path class="add_favorite_path" style="fill:#3DB39E;" d="M143.027,0C64.031,0,0,64.04,0,143.027c0,78.996,64.031,143.027,143.027,143.027 c78.987,0,143.027-64.031,143.027-143.027C286.045,64.04,222.014,0,143.027,0z M143.027,259.236 c-64.183,0-116.209-52.026-116.209-116.209s52.026-116.2,116.209-116.2c64.174,0,116.209,52.017,116.209,116.2 S207.201,259.236,143.027,259.236z M196.832,125.149h-35.936V89.392c0-4.934-4.005-8.939-8.939-8.939h-17.878 c-4.943,0-8.939,4.005-8.939,8.939v35.757H89.401c-4.952,0-8.957,4.005-8.957,8.939v17.878c0,4.943,4.005,8.939,8.957,8.939h35.748 v35.676c0,4.934,3.996,8.93,8.939,8.93h17.878c4.934,0,8.939-3.996,8.939-8.93v-35.676h35.936c4.952,0,8.957-3.996,8.957-8.939 v-17.878C205.789,129.162,201.775,125.149,196.832,125.149z"/></svg>`; const skin__template__string = `<div class="gallery__skin flex flex-col" style="justify-content: center; align-items: center;"><a href="/skins/${skin__elements[element]}"><img class="rounded-full" src="https://skin-data.gota.io/${skin__elements[element]}.png" style="max-width: none; width: 250px;"></a><div class="inline-flex justify-center items-center"><span class="text-lg font-bold">${element}</span></div></div>`; const skin__template = document.createRange().createContextualFragment(skin__template__string); //const add__favorite__button = document.createRange().createContextualFragment(add_favorite__button__string); //skin__template.querySelector('.gallery__skin').append(add__favorite__button); skin__template.querySelector('img').setAttribute('loading', 'lazy'); container.appendChild(skin__template); } } update__skin__size(); update__skin__col(); } function update__local__storage() { local__storage.setItem('__skins', JSON.stringify(gallery__skins)); } function merge__objects(obj1, obj2) { return Object.assign(obj1, obj2); } async function fetch__skins() { const url = `https://skins-data.com/skins`; var fetch__data; await fetch(url, { method: 'GET' }) .then((response) => { return response.text(); }) .then((data) => { fetch__data = data; }); gallery__skins__data = JSON.parse(fetch__data); local__storage.setItem('__skins', fetch__data); update__skins(); } function scroll__event() { if(Object.keys(gallery__skins).length >= bottom__scrolls * skins__each__scroll) { if ((window.innerHeight + window.scrollY) >= document.body.offsetHeight) { bottom__scrolls++; update__skins(); } } } function scroll__event__onchange() { if(Object.keys(gallery__skins).length >= bottom__scrolls * skins__each__scroll) { if ((window.innerHeight + window.scrollY) >= document.body.offsetHeight) { bottom__scrolls += Math.floor(window.innerHeight / 15); update__skins(); } } } function sort__handler(ev, value) { const e = document.querySelector('.corner-button'); if(value !== null && value !== undefined) { is__sorted = value; } else { is__sorted = !is__sorted; } if(is__sorted) { e.innerText = 'Unsort'; }else { e.innerText = 'Sort'; } update__skins(); } function get__myskins() { const container = document.querySelector('.myskins__container'); const skins = container.querySelectorAll('.flex.flex-col'); const names = container.querySelectorAll('.text-lg.font-bold'); skins.forEach(skin => { const img = skin.querySelector('img'); const name = skin.querySelector('span').innerText; let code__url = img.src; code__url = code__url.replace('https://skin-data.gota.io/', ''); code__url = code__url.replace('.png', ''); skin__data[name] = code__url; }); return skin__data; } function input__search(e) { if(gallery__state) { searched__gallery__skins = {}; for(const element in gallery__skins__data) { if(element.includes(e.srcElement.value)) { searched__gallery__skins[element] = gallery__skins__data[element]; } } }else { update__skins(); searched__skins = {}; for(const element in skin__data) { if(element.includes(e.srcElement.value)) { searched__skins[element] = skin__data[element]; } } } if(e.srcElement.value === null || e.srcElement.value === '' || e.srcElement.value === undefined) { searched__skins = {}; searched__gallery__skins = {}; } randomized__gallery__skins = {}; randomized__skins = {}; update__skins(); } function randomize__object(obj) { const randomized__object = {}; var keys = Object.keys(obj); keys.sort(function(a,b) {return Math.random() - 0.5;}); keys.forEach(function(key) { randomized__object[key] = obj[key]; }); return randomized__object; } function randomize__skins(e) { sort__handler(undefined, false); if(gallery__state) { if(!is__empty(searched__gallery__skins)) { randomized__gallery__skins = randomize__object(searched__gallery__skins); } else { randomized__gallery__skins = randomize__object(gallery__skins__data); } } else { if(!is__empty(searched__skins)) { randomized__skins = randomize__object(searched__skins); } else { randomized__skins = randomize__object(skin__data); } } update__skins(); } function get__favorite__skins() { alert('Coming soon...') } })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址