Skip to content

Commit

Permalink
Listen touches only on small screens
Browse files Browse the repository at this point in the history
  • Loading branch information
baileys-li committed Aug 8, 2024
1 parent 80822d8 commit 8aa40de
Showing 1 changed file with 12 additions and 6 deletions.
18 changes: 12 additions & 6 deletions view/main/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,11 @@ function changeExpanded(willBeExpanded = false): void {
document.body.classList.toggle('is-main-collapsed', !isExpanded)
}

main.addEventListener('touchstart', event => {
function onTouchStart(event: TouchEvent): void {
startY = event.touches[0].clientY
})
}

main.addEventListener('touchmove', event => {
function onTouchMove(event: TouchEvent): void {
event.preventDefault()
let endY = event.changedTouches[0].clientY
let diff = endY - startY
Expand All @@ -34,9 +34,9 @@ main.addEventListener('touchmove', event => {
if (allowPositive || allowNegative) {
main.style.setProperty('--touch-diff', `${diff}px`)
}
})
}

main.addEventListener('touchend', event => {
function onTouchEnd(event: TouchEvent): void {
let endY = event.changedTouches[0].clientY
let diff = startY - endY

Expand All @@ -45,7 +45,7 @@ main.addEventListener('touchend', event => {
if (Math.abs(diff) > THRESHOLD) {
changeExpanded(diff > 0)
}
})
}

function onScroll(): void {
changeExpanded(false)
Expand All @@ -54,8 +54,14 @@ function onScroll(): void {
function init(): void {
if (mobile.matches) {
window.addEventListener('scroll', onScroll, { once: true })
main.addEventListener('touchstart', onTouchStart)
main.addEventListener('touchmove', onTouchMove)
main.addEventListener('touchend', onTouchEnd)
} else {
window.removeEventListener('scroll', onScroll)
main.removeEventListener('touchstart', onTouchStart)
main.removeEventListener('touchmove', onTouchMove)
main.removeEventListener('touchend', onTouchEnd)
}
}

Expand Down

0 comments on commit 8aa40de

Please sign in to comment.