forked from rDrama/rDrama
disable swipe gestures on desktop https://rdrama.net/h/changelog/post/165657/changelog-megathread-marseynotes/5742843#context
parent
33106f54b9
commit
23bfbc5de0
|
@ -45,82 +45,83 @@ if (fake_textarea) {
|
|||
|
||||
//SWIPING
|
||||
|
||||
if (screen_width < 768) {
|
||||
const post_ids = localStorage.getItem("post_ids").split(', ');
|
||||
const current_index = post_ids.indexOf(pid)
|
||||
const id_after = post_ids[current_index+1]
|
||||
const id_before = post_ids[current_index-1]
|
||||
|
||||
const post_ids = localStorage.getItem("post_ids").split(', ');
|
||||
const current_index = post_ids.indexOf(pid)
|
||||
const id_after = post_ids[current_index+1]
|
||||
const id_before = post_ids[current_index-1]
|
||||
const _C = document.querySelector('.container')
|
||||
const N = _C.children.length
|
||||
const NF = 30
|
||||
|
||||
const _C = document.querySelector('.container')
|
||||
const N = _C.children.length
|
||||
const NF = 30
|
||||
let i = 0, x0 = null, y0 = null, locked = false, w, ini, fin, rID = null, anf, n;
|
||||
|
||||
let i = 0, x0 = null, y0 = null, locked = false, w, ini, fin, rID = null, anf, n;
|
||||
function unify(e) { return e.changedTouches ? e.changedTouches[0] : e };
|
||||
|
||||
function unify(e) { return e.changedTouches ? e.changedTouches[0] : e };
|
||||
function lock(e) {
|
||||
x0 = unify(e).clientX;
|
||||
y0 = unify(e).clientY;
|
||||
locked = true
|
||||
};
|
||||
|
||||
function lock(e) {
|
||||
x0 = unify(e).clientX;
|
||||
y0 = unify(e).clientY;
|
||||
locked = true
|
||||
};
|
||||
function drag(e) {
|
||||
if(locked) {
|
||||
let dx = unify(e).clientX - x0
|
||||
let f = +(dx/w).toFixed(2);
|
||||
|
||||
function drag(e) {
|
||||
if(locked) {
|
||||
let dx = unify(e).clientX - x0
|
||||
let f = +(dx/w).toFixed(2);
|
||||
let dy = unify(e).clientY - y0
|
||||
let fy = +(dy/y).toFixed(2);
|
||||
|
||||
let dy = unify(e).clientY - y0
|
||||
let fy = +(dy/y).toFixed(2);
|
||||
|
||||
if (!getSelection().toString() && (f > 0.04 || f < -0.04) && (fy < 0.02 && fy > -0.02)) {
|
||||
if (id_before && (f > 0.2 || (screen_width > 768 && f > 0.1))) {
|
||||
location.href = `/post/${id_before}`
|
||||
}
|
||||
if (id_after && (f < -0.2 || (screen_width > 768 && f < -0.1))) {
|
||||
location.href = `/post/${id_after}`
|
||||
if (!getSelection().toString() && (f > 0.04 || f < -0.04) && (fy < 0.02 && fy > -0.02)) {
|
||||
if (id_before && f > 0.2) {
|
||||
location.href = `/post/${id_before}`
|
||||
}
|
||||
if (id_after && f < -0.2) {
|
||||
location.href = `/post/${id_after}`
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
function move(e) {
|
||||
if(locked) {
|
||||
let dx = unify(e).clientX - x0,
|
||||
s = Math.sign(dx),
|
||||
f = +(s*dx/w).toFixed(2);
|
||||
|
||||
ini = i - s*f;
|
||||
|
||||
if((i > 0 || s < 0) && (i < N - 1 || s > 0) && f > .2) {
|
||||
i -= s;
|
||||
f = 1 - f
|
||||
}
|
||||
|
||||
fin = i;
|
||||
anf = Math.round(f*NF);
|
||||
n = 2 + Math.round(f)
|
||||
x0 = null;
|
||||
y0 = null;
|
||||
locked = false;
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
function move(e) {
|
||||
if(locked) {
|
||||
let dx = unify(e).clientX - x0,
|
||||
s = Math.sign(dx),
|
||||
f = +(s*dx/w).toFixed(2);
|
||||
function size() {
|
||||
w = window.innerWidth
|
||||
y = window.innerHeight
|
||||
};
|
||||
|
||||
ini = i - s*f;
|
||||
size();
|
||||
_C.style.setProperty('--n', N);
|
||||
|
||||
if((i > 0 || s < 0) && (i < N - 1 || s > 0) && f > .2) {
|
||||
i -= s;
|
||||
f = 1 - f
|
||||
}
|
||||
addEventListener('resize', size, false);
|
||||
|
||||
fin = i;
|
||||
anf = Math.round(f*NF);
|
||||
n = 2 + Math.round(f)
|
||||
x0 = null;
|
||||
y0 = null;
|
||||
locked = false;
|
||||
}
|
||||
};
|
||||
_C.addEventListener('mousedown', lock, false);
|
||||
_C.addEventListener('touchstart', lock, false);
|
||||
|
||||
function size() {
|
||||
w = window.innerWidth
|
||||
y = window.innerHeight
|
||||
};
|
||||
_C.addEventListener('mousemove', drag, false);
|
||||
_C.addEventListener('touchmove', drag, false);
|
||||
|
||||
size();
|
||||
_C.style.setProperty('--n', N);
|
||||
|
||||
addEventListener('resize', size, false);
|
||||
|
||||
_C.addEventListener('mousedown', lock, false);
|
||||
_C.addEventListener('touchstart', lock, false);
|
||||
|
||||
_C.addEventListener('mousemove', drag, false);
|
||||
_C.addEventListener('touchmove', drag, false);
|
||||
|
||||
_C.addEventListener('mouseup', move, false);
|
||||
_C.addEventListener('touchend', move, false);
|
||||
_C.addEventListener('mouseup', move, false);
|
||||
_C.addEventListener('touchend', move, false);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue