Merge pull request #1687 from X-Ryl669/FixCenterLyricPos

[web] Ensure current lyric is centered
This commit is contained in:
Alain Nussbaumer 2023-11-21 17:05:01 +01:00 committed by GitHub
commit 2f0e19cf41
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
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 {