tangled
alpha
login
or
join now
oppi.li
/
lurker
16
fork
atom
selfhostable, read-only reddit client
16
fork
atom
overview
issues
1
pulls
pipelines
Media View: scroll to pointer when zooming.
PortableProgrammer
1 year ago
7e73b06a
6cd1bd91
+7
-2
1 changed file
expand all
collapse all
unified
split
src
views
media.pug
+7
-2
src/views/media.pug
···
3
3
html
4
4
+head("home")
5
5
script(type='text/javascript').
6
6
-
function toggleZoom() {
6
6
+
function toggleZoom(event) {
7
7
+
const percentX = event.offsetX / event.target.width;
8
8
+
const percentY = event.offsetY / event.target.height;
7
9
Array.from(document.getElementsByClassName('media-maximized')).forEach(element => element.classList.toggle('zoom'));
10
10
+
const moveClientX = (event.target.width * percentX) + event.target.offsetLeft - (event.view.visualViewport.width / 2)
11
11
+
const moveClientY = (event.target.height * percentY) + event.target.offsetTop - (event.view.visualViewport.height / 2);
12
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
13
-
img(src=url onclick=`toggleZoom()`).media-maximized
18
18
+
img(src=url onclick=`toggleZoom(event)`).media-maximized
14
19
else
15
20
video(src=url controls).media-maximized