[web] Ensure current lyric is centered

This commit is contained in:
X-Ryl669 2023-11-21 16:43:41 +01:00
parent 18e6afc4e0
commit 3fc149339b
7 changed files with 45 additions and 41 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
<!doctype html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="UTF-8" /> <meta charset="UTF-8" />
@ -17,9 +17,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>OwnTone</title> <title>OwnTone</title>
<script type="module" crossorigin src="./assets/index.js"></script> <script type="module" crossorigin src="./assets/index.js"></script>
<link rel="stylesheet" crossorigin href="./assets/index.css"> <link rel="stylesheet" href="./assets/index.css">
</head> </head>
<body> <body>
<div id="app"></div> <div id="app"></div>
</body> </body>
</html> </html>

View File

@ -1,4 +1,4 @@
<!doctype html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="UTF-8" /> <meta charset="UTF-8" />

View File

@ -165,12 +165,15 @@ export default {
return return
} }
let currentLyric = scrollTouch.children[0].children[this.lyricIndex], let currentLyric = scrollTouch.children[0].children[this.lyricIndex + 1], // Because of space item
offsetToCenter = scrollTouch.offsetHeight >> 1 offsetToCenter = scrollTouch.offsetHeight >> 1
if (!this.lyricsArr || !currentLyric) return if (!this.lyricsArr || !currentLyric) return
let currOff = scrollTouch.scrollTop, let currOff = scrollTouch.scrollTop,
destOff = currentLyric.offsetTop - offsetToCenter destOff =
currentLyric.offsetTop -
offsetToCenter +
(currentLyric.offsetHeight >> 1)
// Using scrollBy ensure that scrolling will happen // Using scrollBy ensure that scrolling will happen
// even if the element is visible before scrolling // even if the element is visible before scrolling
scrollTouch.scrollBy({ scrollTouch.scrollBy({

View File

@ -55,8 +55,6 @@ export default {
margin-bottom: 10px; margin-bottom: 10px;
margin-left: 24px; margin-left: 24px;
margin-right: 24px; margin-right: 24px;
box-shadow: box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
0 4px 8px 0 rgba(0, 0, 0, 0.2),
0 6px 20px 0 rgba(0, 0, 0, 0.19);
} }
</style> </style>

View File

@ -21,9 +21,7 @@
color: $black; color: $black;
} }
.lyrics-overlay { .lyrics-overlay {
box-shadow: box-shadow: 0px 40px 40px 0px $white inset, 0px -40px 40px 0px $white inset;
0px 40px 40px 0px $white inset,
0px -40px 40px 0px $white inset;
} }
.progress-bar { .progress-bar {
@ -80,9 +78,7 @@ a.navbar-item {
} }
.fd-has-shadow img { .fd-has-shadow img {
box-shadow: box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
0 4px 8px 0 rgba(0, 0, 0, 0.2),
0 6px 20px 0 rgba(0, 0, 0, 0.19);
} }
.fd-page { .fd-page {