@@ -6,7 +6,7 @@ import type { MusicPlayer } from '@/types/music-player';
66import type {
77 AlbumDetails ,
88 PlayerOverlays ,
9- VideoDataChangeValue
9+ VideoDataChangeValue ,
1010} from '@/types/player-api-events' ;
1111
1212import type { SongInfo } from './song-info' ;
@@ -21,7 +21,7 @@ window.ipcRenderer.on(
2121 'peard:update-song-info' ,
2222 ( _ , extractedSongInfo : SongInfo ) => {
2323 songInfo = extractedSongInfo ;
24- }
24+ } ,
2525) ;
2626
2727// Used because 'loadeddata' or 'loadedmetadata' weren't firing on song start for some users (https://github.com/pear-devs/pear-music/issues/473)
@@ -61,11 +61,11 @@ export const setupRepeatChangedListener = singleton(() => {
6161 getState : ( ) => GetState ;
6262 } ;
6363 }
64- ) . __dataHost . getState ( ) . queue . repeatMode
64+ ) . __dataHost . getState ( ) . queue . repeatMode ,
6565 ) ;
6666 } ) ;
6767 repeatObserver . observe ( document . querySelector ( '#right-controls .repeat' ) ! , {
68- attributeFilter : [ 'title' ]
68+ attributeFilter : [ 'title' ] ,
6969 } ) ;
7070
7171 // Emit the initial value as well; as it's persistent between launches.
@@ -75,10 +75,10 @@ export const setupRepeatChangedListener = singleton(() => {
7575 document
7676 . querySelector <
7777 HTMLElement & {
78- getState : ( ) => GetState ;
79- }
78+ getState : ( ) => GetState ;
79+ }
8080 > ( 'ytmusic-player-bar' )
81- ?. getState ( ) . queue . repeatMode
81+ ?. getState ( ) . queue . repeatMode ,
8282 ) ;
8383} ) ;
8484
@@ -95,22 +95,22 @@ export const setupLikeChangedListener = singleton(() => {
9595 'peard:like-changed' ,
9696 mapLikeStatus (
9797 ( mutations [ 0 ] . target as HTMLElement ) ?. getAttribute ?.(
98- LIKE_STATUS_ATTRIBUTE
99- )
100- )
98+ LIKE_STATUS_ATTRIBUTE ,
99+ ) ,
100+ ) ,
101101 ) ;
102102 } ) ;
103103 const likeButtonRenderer = document . querySelector ( '#like-button-renderer' ) ;
104104 if ( likeButtonRenderer ) {
105105 likeDislikeObserver . observe ( likeButtonRenderer , {
106106 attributes : true ,
107- attributeFilter : [ LIKE_STATUS_ATTRIBUTE ]
107+ attributeFilter : [ LIKE_STATUS_ATTRIBUTE ] ,
108108 } ) ;
109109
110110 // Emit the initial value as well; as it's persistent between launches.
111111 window . ipcRenderer . send (
112112 'peard:like-changed' ,
113- mapLikeStatus ( likeButtonRenderer . getAttribute ?.( LIKE_STATUS_ATTRIBUTE ) )
113+ mapLikeStatus ( likeButtonRenderer . getAttribute ?.( LIKE_STATUS_ATTRIBUTE ) ) ,
114114 ) ;
115115 }
116116} ) ;
@@ -119,14 +119,14 @@ export const setupVolumeChangedListener = singleton((api: MusicPlayer) => {
119119 document . querySelector ( 'video' ) ?. addEventListener ( 'volumechange' , ( ) => {
120120 window . ipcRenderer . send ( 'peard:volume-changed' , {
121121 state : api . getVolume ( ) ,
122- isMuted : api . isMuted ( )
122+ isMuted : api . isMuted ( ) ,
123123 } ) ;
124124 } ) ;
125125
126126 // Emit the initial value as well; as it's persistent between launches.
127127 window . ipcRenderer . send ( 'peard:volume-changed' , {
128128 state : api . getVolume ( ) ,
129- isMuted : api . isMuted ( )
129+ isMuted : api . isMuted ( ) ,
130130 } ) ;
131131} ) ;
132132
@@ -141,15 +141,15 @@ export const setupShuffleChangedListener = singleton(() => {
141141 const observer = new MutationObserver ( ( ) => {
142142 window . ipcRenderer . send (
143143 'peard:shuffle-changed' ,
144- ( playerBar ?. attributes . getNamedItem ( 'shuffle-on' ) ?? null ) !== null
144+ ( playerBar ?. attributes . getNamedItem ( 'shuffle-on' ) ?? null ) !== null ,
145145 ) ;
146146 } ) ;
147147
148148 observer . observe ( playerBar , {
149149 attributes : true ,
150150 attributeFilter : [ 'shuffle-on' ] ,
151151 childList : false ,
152- subtree : false
152+ subtree : false ,
153153 } ) ;
154154} ) ;
155155
@@ -165,21 +165,21 @@ export const setupFullScreenChangedListener = singleton(() => {
165165 window . ipcRenderer . send (
166166 'peard:fullscreen-changed' ,
167167 ( playerBar ?. attributes . getNamedItem ( 'player-fullscreened' ) ?? null ) !==
168- null
168+ null ,
169169 ) ;
170170 } ) ;
171171
172172 observer . observe ( playerBar , {
173173 attributes : true ,
174174 attributeFilter : [ 'player-fullscreened' ] ,
175175 childList : false ,
176- subtree : false
176+ subtree : false ,
177177 } ) ;
178178} ) ;
179179
180180export const setupAutoPlayChangedListener = singleton ( ( ) => {
181181 const autoplaySlider = document . querySelector < HTMLInputElement > (
182- '.autoplay > tp-yt-paper-toggle-button'
182+ '.autoplay > tp-yt-paper-toggle-button' ,
183183 ) ;
184184
185185 const observer = new MutationObserver ( ( ) => {
@@ -189,7 +189,7 @@ export const setupAutoPlayChangedListener = singleton(() => {
189189 observer . observe ( autoplaySlider ! , {
190190 attributes : true ,
191191 childList : false ,
192- subtree : false
192+ subtree : false ,
193193 } ) ;
194194} ) ;
195195
@@ -233,25 +233,25 @@ export const setupSongInfo = (api: MusicPlayer) => {
233233 ) {
234234 window . ipcRenderer . send ( 'peard:play-or-paused' , {
235235 isPaused : status === 'pause' ,
236- elapsedSeconds : Math . floor ( e . target . currentTime )
236+ elapsedSeconds : Math . floor ( e . target . currentTime ) ,
237237 } ) ;
238238 }
239239 } ;
240240
241241 const playPausedHandlers = {
242242 playing : ( e : Event ) => playPausedHandler ( e , 'playing' ) ,
243- pause : ( e : Event ) => playPausedHandler ( e , 'pause' )
243+ pause : ( e : Event ) => playPausedHandler ( e , 'pause' ) ,
244244 } ;
245245
246246 const videoEventDispatcher = async (
247247 name : string ,
248- videoData : VideoDataChangeValue
248+ videoData : VideoDataChangeValue ,
249249 // eslint-disable-next-line @typescript-eslint/require-await
250250 ) =>
251251 document . dispatchEvent (
252252 new CustomEvent < VideoDataChanged > ( 'videodatachange' , {
253- detail : { name, videoData }
254- } )
253+ detail : { name, videoData } ,
254+ } ) ,
255255 ) ;
256256
257257 const waitingEvent = new Set < string > ( ) ;
@@ -311,7 +311,7 @@ export const setupSongInfo = (api: MusicPlayer) => {
311311 title,
312312 author,
313313 video_id : videoId ,
314- list : playlistId
314+ list : playlistId ,
315315 } = api . getVideoData ( ) ;
316316
317317 const watchNextResponse = api . getWatchNextResponse ( ) ;
@@ -326,7 +326,7 @@ export const setupSongInfo = (api: MusicPlayer) => {
326326 lengthSeconds : video . duration ,
327327 loading : true ,
328328
329- ytmdWatchNextResponse : watchNextResponse
329+ [ '\u0079\u0074\u006d\u0064WatchNextResponse' ] : watchNextResponse ,
330330 } satisfies VideoDataChangeValue ) ;
331331 }
332332 }
@@ -336,18 +336,19 @@ export const setupSongInfo = (api: MusicPlayer) => {
336336
337337 let playerOverlay : PlayerOverlays | undefined ;
338338
339- if ( ! videoData . ytmdWatchNextResponse ) {
339+ if ( ! videoData [ '\u0079\u0074\u006d\u0064WatchNextResponse' ] ) {
340340 playerOverlay = (
341341 Object . entries ( videoData ) . find (
342- ( [ , value ] ) => value && Object . hasOwn ( value , 'playerOverlays' )
342+ ( [ , value ] ) => value && Object . hasOwn ( value , 'playerOverlays' ) ,
343343 ) as [ string , AlbumDetails | undefined ]
344344 ) ?. [ 1 ] ?. playerOverlays ;
345345 } else {
346- playerOverlay = videoData . ytmdWatchNextResponse ?. playerOverlays ;
346+ playerOverlay =
347+ videoData [ '\u0079\u0074\u006d\u0064WatchNextResponse' ] ?. playerOverlays ;
347348 }
348349 data . videoDetails . album =
349350 playerOverlay ?. playerOverlayRenderer ?. browserMediaSession ?. browserMediaSessionRenderer ?. album ?. runs ?. at (
350- 0
351+ 0 ,
351352 ) ?. text ;
352353 data . videoDetails . elapsedSeconds = 0 ;
353354 data . videoDetails . isPaused = false ;
0 commit comments