8
8
// @license AGPL-3.0-only
9
9
// @author Sv443
10
10
// @copyright Sv443 (https://github.com/Sv443)
11
- // @icon https://cdn.jsdelivr.net/gh/Sv443/BetterYTM@4ca0c620 /assets/images/logo/logo_dev_48.png
11
+ // @icon https://cdn.jsdelivr.net/gh/Sv443/BetterYTM@6cc5c84a /assets/images/logo/logo_dev_48.png
12
12
// @match https://music.youtube.com/*
13
13
// @match https://www.youtube.com/*
14
14
// @run -at document-start
@@ -313,7 +313,7 @@ const rawConsts = {
313
313
mode : "development" ,
314
314
branch : "develop" ,
315
315
host : "github" ,
316
- buildNumber : "4ca0c620 " ,
316
+ buildNumber : "6cc5c84a " ,
317
317
assetSource : "jsdelivr" ,
318
318
devServerPort : "8710" ,
319
319
} ;
@@ -5366,14 +5366,15 @@ async function addQueueButtons(queueItem, containerParentSelector = ".song-info"
5366
5366
if ( ! cachedLyricsEntry ) {
5367
5367
queueItem . setAttribute ( "data-bytm-loading" , "" ) ;
5368
5368
if ( imgEl ) {
5369
- if ( imgEl . tagName === "IMG" )
5369
+ if ( imgEl . tagName === "IMG" ) {
5370
5370
imgEl . src = await getResourceUrl ( "icon-spinner" ) ;
5371
+ imgEl === null || imgEl === void 0 ? void 0 : imgEl . classList . add ( "bytm-spinner" ) ;
5372
+ }
5371
5373
else if ( lyricsBtnElem ) {
5372
5374
setInnerHtml ( lyricsBtnElem , await resourceAsString ( "icon-spinner" ) ) ;
5373
- ( _a = lyricsBtnElem . querySelector ( "svg" ) ) === null || _a === void 0 ? void 0 : _a . classList . add ( "bytm-generic-btn-img" ) ;
5375
+ ( _a = lyricsBtnElem . querySelector ( "svg" ) ) === null || _a === void 0 ? void 0 : _a . classList . add ( "bytm-generic-btn-img" , "bytm-spinner" ) ;
5374
5376
}
5375
5377
}
5376
- imgEl === null || imgEl === void 0 ? void 0 : imgEl . classList . add ( "bytm-spinner" ) ;
5377
5378
}
5378
5379
lyricsUrl = ( _b = cachedLyricsEntry === null || cachedLyricsEntry === void 0 ? void 0 : cachedLyricsEntry . url ) !== null && _b !== void 0 ? _b : await fetchLyricsUrlTop ( artistsSan , songSan ) ;
5379
5380
if ( lyricsUrl ) {
@@ -5387,14 +5388,15 @@ async function addQueueButtons(queueItem, containerParentSelector = ".song-info"
5387
5388
const resetImgElem = async ( ) => {
5388
5389
var _a ;
5389
5390
if ( imgEl ) {
5390
- if ( imgEl . tagName === "IMG" )
5391
+ if ( imgEl . tagName === "IMG" ) {
5391
5392
imgEl . src = lyricsIconUrl ;
5393
+ imgEl === null || imgEl === void 0 ? void 0 : imgEl . classList . remove ( "bytm-spinner" ) ;
5394
+ }
5392
5395
else if ( lyricsBtnElem ) {
5393
5396
setInnerHtml ( lyricsBtnElem , await resourceAsString ( "icon-lyrics" ) ) ;
5394
5397
( _a = lyricsBtnElem . querySelector ( "svg" ) ) === null || _a === void 0 ? void 0 : _a . classList . add ( "bytm-generic-btn-img" ) ;
5395
5398
}
5396
5399
}
5397
- imgEl === null || imgEl === void 0 ? void 0 : imgEl . classList . remove ( "bytm-spinner" ) ;
5398
5400
} ;
5399
5401
if ( ! cachedLyricsEntry ) {
5400
5402
queueItem . removeAttribute ( "data-bytm-loading" ) ;
@@ -5420,14 +5422,14 @@ async function addQueueButtons(queueItem, containerParentSelector = ".song-info"
5420
5422
deleteBtnElem . role = "button" ;
5421
5423
deleteBtnElem . tabIndex = 0 ;
5422
5424
deleteBtnElem . style . visibility = "initial" ;
5423
- const imgElem = document . createElement ( "img" ) ;
5424
- imgElem . classList . add ( "bytm-generic-btn-img" ) ;
5425
- imgElem . src = deleteIconUrl ;
5425
+ const delImgElem = document . createElement ( "img" ) ;
5426
+ delImgElem . classList . add ( "bytm-generic-btn-img" ) ;
5427
+ delImgElem . src = deleteIconUrl ;
5426
5428
onInteraction ( deleteBtnElem , async ( e ) => {
5427
5429
e . preventDefault ( ) ;
5428
5430
e . stopImmediatePropagation ( ) ;
5429
- imgElem . src = spinnerIconUrl ;
5430
- imgElem . classList . add ( "bytm-spinner" ) ;
5431
+ delImgElem . src = spinnerIconUrl ;
5432
+ delImgElem . classList . add ( "bytm-spinner" ) ;
5431
5433
// container of the queue item popup menu - element gets reused for every queue item
5432
5434
let queuePopupCont = document . querySelector ( "ytmusic-app ytmusic-popup-container tp-yt-iron-dropdown" ) ;
5433
5435
try {
@@ -5445,6 +5447,8 @@ async function addQueueButtons(queueItem, containerParentSelector = ".song-info"
5445
5447
queuePopupCont = document . querySelector ( "ytmusic-app ytmusic-popup-container tp-yt-iron-dropdown" ) ;
5446
5448
queuePopupCont === null || queuePopupCont === void 0 ? void 0 : queuePopupCont . setAttribute ( "data-bytm-hidden" , "true" ) ;
5447
5449
await UserUtils . pauseFor ( 15 ) ;
5450
+ delImgElem . src = deleteIconUrl ;
5451
+ delImgElem . classList . remove ( "bytm-spinner" ) ;
5448
5452
const removeFromQueueBtn = queuePopupCont === null || queuePopupCont === void 0 ? void 0 : queuePopupCont . querySelector ( "tp-yt-paper-listbox ytmusic-menu-service-item-renderer:nth-of-type(3)" ) ;
5449
5453
removeFromQueueBtn === null || removeFromQueueBtn === void 0 ? void 0 : removeFromQueueBtn . click ( ) ;
5450
5454
// queue items aren't removed automatically outside of the current queue
@@ -5456,7 +5460,7 @@ async function addQueueButtons(queueItem, containerParentSelector = ".song-info"
5456
5460
if ( ! removeFromQueueBtn ) {
5457
5461
error ( "Couldn't find 'remove from queue' button in queue item three dots menu.\nPlease make sure all autoplay restrictions on your browser's side are disabled for this page." ) ;
5458
5462
dotsBtnElem === null || dotsBtnElem === void 0 ? void 0 : dotsBtnElem . click ( ) ;
5459
- imgElem . src = await getResourceUrl ( "icon-error" ) ;
5463
+ delImgElem . src = await getResourceUrl ( "icon-error" ) ;
5460
5464
if ( deleteBtnElem )
5461
5465
deleteBtnElem . ariaLabel = deleteBtnElem . title = ( listType === "currentQueue" ? t ( "couldnt_remove_from_queue" ) : t ( "couldnt_delete_from_list" ) ) ;
5462
5466
}
@@ -5468,7 +5472,7 @@ async function addQueueButtons(queueItem, containerParentSelector = ".song-info"
5468
5472
queuePopupCont === null || queuePopupCont === void 0 ? void 0 : queuePopupCont . removeAttribute ( "data-bytm-hidden" ) ;
5469
5473
}
5470
5474
} ) ;
5471
- deleteBtnElem . appendChild ( imgElem ) ;
5475
+ deleteBtnElem . appendChild ( delImgElem ) ;
5472
5476
}
5473
5477
lyricsBtnElem && queueBtnsCont . appendChild ( createRipple ( lyricsBtnElem ) ) ;
5474
5478
deleteBtnElem && queueBtnsCont . appendChild ( createRipple ( deleteBtnElem ) ) ;
0 commit comments