selfhostable, read-only reddit client

Media View: scroll to pointer when zooming.

Changed files
+7 -2
src
views
+7 -2
src/views/media.pug
··· 3 3 html 4 4 +head("home") 5 5 script(type='text/javascript'). 6 - function toggleZoom() { 6 + function toggleZoom(event) { 7 + const percentX = event.offsetX / event.target.width; 8 + const percentY = event.offsetY / event.target.height; 7 9 Array.from(document.getElementsByClassName('media-maximized')).forEach(element => element.classList.toggle('zoom')); 10 + const moveClientX = (event.target.width * percentX) + event.target.offsetLeft - (event.view.visualViewport.width / 2) 11 + const moveClientY = (event.target.height * percentY) + event.target.offsetTop - (event.view.visualViewport.height / 2); 12 + event.target.parentElement.scrollTo(moveClientX, moveClientY); 8 13 } 9 14 10 15 body.media-maximized 11 16 div.media-maximized.container 12 17 if kind == 'img' 13 - img(src=url onclick=`toggleZoom()`).media-maximized 18 + img(src=url onclick=`toggleZoom(event)`).media-maximized 14 19 else 15 20 video(src=url controls).media-maximized