This commit is contained in:
f.strw 2024-07-28 13:32:24 +03:00
commit 5b186d3179
Signed by: f.strw
GPG key ID: 7F01AE38128DA30D
2 changed files with 62 additions and 0 deletions

9
README.md Normal file
View file

@ -0,0 +1,9 @@
<div align="center">
<h1>NameMC Random skins infinite scroll</h1>
</div>
Maximum convenience for those who are addicted to Minecraft skins.
A userscript for Tampermonkey or any other userscript extension.
### [Install](https://fem.mint.lgbt/f.strw/namemc-infinitescroll/raw/branch/master/script.user.js)

53
script.user.js Normal file
View file

@ -0,0 +1,53 @@
// ==UserScript==
// @name NameMC random skins infinite scroll
// @namespace https://fem.mint.lgbt/f.strw
// @version v1
// @description To those who are addicted to Minecraft skins (totally not me btw)
// @author f.strw
// @match https://namemc.com/minecraft-skins/random
// @icon https://www.google.com/s2/favicons?sz=64&domain=namemc.com
// @grant none
// ==/UserScript==
(function() {
'use strict';
function appendNewElements() {
fetch('https://namemc.com/minecraft-skins/random')
.then(response => response.text())
.then(data => {
const tempContainer = document.createElement('div');
tempContainer.innerHTML = data;
const newElements = tempContainer.querySelector('.mb-2');
const images = newElements.querySelectorAll('img');
images.forEach(img => {
const dataSrc = img.getAttribute('data-src');
if (dataSrc) {
img.setAttribute('src', dataSrc);
}
});
const existingContainer = document.querySelector('.mb-2');
existingContainer.insertAdjacentHTML('beforeend', newElements.innerHTML);
})
.catch(error => {
console.error('Error fetching new skins:', error);
});
}
function isBottomReached() {
const scrollPosition = window.innerHeight + window.scrollY;
const pageHeight = document.documentElement.offsetHeight;
return scrollPosition >= pageHeight;
}
function handleScroll() {
if (isBottomReached()) {
appendNewElements();
}
}
window.addEventListener('scroll', handleScroll);
})();