Add animation to refresh segments

Closes https://github.com/ajayyy/SponsorBlock/issues/839
This commit is contained in:
Ajay Ramachandran
2021-07-13 18:12:45 -04:00
parent 572fee265d
commit 76b78ef132
3 changed files with 94 additions and 77 deletions

View File

@@ -679,13 +679,28 @@ async function runThePopup(messageListener?: MessageListener): Promise<void> {
}
function refreshSegments() {
PageElements.refreshSegmentsButton.style.animation = "rotate 0.3s 0s infinite";
messageHandler.query({
active: true,
currentWindow: true
}, tabs => {
messageHandler.sendMessage(
tabs[0].id,
{message: 'refreshSegments'}
{message: 'refreshSegments'},
() => {
// Make the animation finite
PageElements.refreshSegmentsButton.style.animation = "rotate 0.3s";
// When the animation is over, hide the button
const animationEndListener = () => {
PageElements.refreshSegmentsButton.style.animation = "none";
PageElements.refreshSegmentsButton.removeEventListener("animationend", animationEndListener);
};
PageElements.refreshSegmentsButton.addEventListener("animationend", animationEndListener);
}
)}
);
}