diff --git a/dribbblish.js b/dribbblish.js index 257d06b..31a7ff3 100644 --- a/dribbblish.js +++ b/dribbblish.js @@ -153,8 +153,8 @@ waitForElement([".Root__main-view .os-resize-observer-host"], ([resizeHost]) => tooltip.className = "prog-tooltip"; progKnob.append(tooltip); - function updateProgTime() { - const newText = Spicetify.Player.formatTime(Spicetify.Player.getProgress()) + " / " + Spicetify.Player.formatTime(Spicetify.Player.getDuration()); + function updateProgTime(timeOverride) { + const newText = Spicetify.Player.formatTime(timeOverride || Spicetify.Player.getProgress()) + " / " + Spicetify.Player.formatTime(Spicetify.Player.getDuration()); // To reduce DOM Updates when the Song is Paused if (tooltip.innerText != newText) tooltip.innerText = newText; @@ -172,7 +172,8 @@ waitForElement([".Root__main-view .os-resize-observer-host"], ([resizeHost]) => } } const knobPosObserver = new MutationObserver((muts) => { - updateProgTime(); + const progressPercentage = Number(getComputedStyle(document.querySelector(".progress-bar")).getPropertyValue("--progress-bar-transform").replace("%", "")) / 100; + updateProgTime(Spicetify.Player.getDuration() * progressPercentage); }); knobPosObserver.observe(document.querySelector(".progress-bar"), { attributes: true, diff --git a/user.css b/user.css index 3dee48d..6e8a9ec 100644 --- a/user.css +++ b/user.css @@ -457,6 +457,9 @@ html.sidebar-hide-text .GlueDropTarget span { text-align: center; color: var(--spice-text); background-color: var(--spice-button); +} + +.playback-bar:not(:active) .prog-tooltip { transition: transform 0.2s ease; }