fuck you sirx

This commit is contained in:
Flummi 2021-12-18 19:51:26 +01:00
parent e56cf37f61
commit 346574887b

View File

@ -60,15 +60,32 @@
// </image-responsive>
// <scroller>
let tts = 0;
if(document.querySelector("div#posts")) {
document.addEventListener("wheel", e => {
if((window.innerHeight + window.scrollY) >= document.body.offsetHeight && e.deltaY > 0) {
if(elem = document.querySelector(".pagination > .next:not(.disabled)"))
changePage(elem);
if((window.innerHeight + window.scrollY) >= document.body.offsetHeight && e.deltaY > 0) { // down
if(elem = document.querySelector(".pagination > .next:not(.disabled)")) {
if(tts < 2) {
document.querySelector("div#footbar").style.backgroundColor = "var(--scroller-bg)";
tts++;
}
else
changePage(elem);
}
}
else if(window.scrollY <= 0 && e.deltaY < 0) {
if(elem = document.querySelector(".pagination > .prev:not(.disabled)"))
changePage(elem);
else if(window.scrollY <= 0 && e.deltaY < 0) { // up
if(elem = document.querySelector(".pagination > .prev:not(.disabled)")) {
if(tts < 2) {
document.querySelector("nav.navbar").style.backgroundColor = "var(--scroller-bg)";
tts++;
}
else
changePage(elem);
}
}
else {
document.querySelector("div#footbar").style.backgroundColor = "var(--nav-bg)";
document.querySelector("nav.navbar").style.backgroundColor = "var(--nav-bg)";
}
});
}
@ -78,47 +95,69 @@
if(document.location.href.match(rmatch) < document.referrer.match(rmatch))
document.body.scrollTop = document.body.scrollHeight;
// </scroller>
// <swipe>
let lastTap = 0;
let xDown = null;
let yDown = null;
document.addEventListener('touchstart', e => {
const firstTouch = (e.touches ?? e.originalEvent.touches)[0];
xDown = firstTouch.clientX;
yDown = firstTouch.clientY;
const swipeRT = {
xDown: null,
yDown: null,
xDiff: null,
yDiff: null,
timeDown: null,
startEl: null
};
const swipeOpt = {
treshold: 20, // 20px
timeout: 500 // 500ms
};
const currentTime = new Date().getTime();
const tapLength = currentTime - lastTap;
if(tapLength < 500 && tapLength > 0)
if(elem = document.querySelector("#random"))
changePage(elem);
lastTap = currentTime;
document.addEventListener('touchstart', e => {
swipeRT.startEl = e.target;
swipeRT.timeDown = Date.now();
swipeRT.xDown = e.touches[0].clientX;
swipeRT.yDown = e.touches[0].clientY;
swipeRT.xDiff = 0;
swipeRT.yDiff = 0;
}, false);
document.addEventListener('touchmove', e => {
if(!xDown || !yDown)
if(!swipeRT.xDown || !swipeRT.yDown)
return;
const xDiff = xDown - e.touches[0].clientX;
const yDiff = yDown - e.touches[0].clientY;
let elem = false;
if(Math.abs(xDiff) > Math.abs(yDiff)) {
if(xDiff > 0) // left
elem = document.querySelector(".pagination > .next:not(.disabled)");
else // right
elem = document.querySelector(".pagination > .prev:not(.disabled)");
}
else {
if(navbar = document.querySelector("nav.navbar") && document.querySelector("div#posts")) {
if(yDiff > 0 && (window.innerHeight + window.scrollY) >= document.body.offsetHeight) // up
swipeRT.xDiff = swipeRT.xDown - e.touches[0].clientX;
swipeRT.yDiff = swipeRT.yDown - e.touches[0].clientY;
}, false);
document.addEventListener('touchend', e => {
if(swipeRT.startEl !== e.target)
return;
const timeDiff = Date.now() - swipeRT.timeDown;
let elem;
if(Math.abs(swipeRT.xDiff) > Math.abs(swipeRT.yDiff)) {
if(Math.abs(swipeRT.xDiff) > swipeOpt.treshold && timeDiff < swipeOpt.timeout) {
if(swipeRT.xDiff > 0) // left
elem = document.querySelector(".pagination > .next:not(.disabled)");
else if(yDiff <= 0 && window.scrollY <= 0 && document.querySelector("div#posts")) // down
else // right
elem = document.querySelector(".pagination > .prev:not(.disabled)");
}
}
else {
if(Math.abs(swipeRT.yDiff) > swipeOpt.treshold && timeDiff < swipeOpt.timeout) {
if(navbar = document.querySelector("nav.navbar") && document.querySelector("div#posts")) {
if(swipeRT.yDiff > 0 && (window.innerHeight + window.scrollY) >= document.body.offsetHeight) // up
elem = document.querySelector(".pagination > .next:not(.disabled)");
else if(swipeRT.yDiff <= 0 && window.scrollY <= 0 && document.querySelector("div#posts")) // down
elem = document.querySelector(".pagination > .prev:not(.disabled)");
}
}
}
swipeRT.xDown = null;
swipeRT.yDown = null;
swipeRT.timeDown = null;
if(elem)
changePage(elem);
xDown = yDown = null;
}, false);
// </swipe>