From 8fdfc11c8a31ab2969a1d78a29352f1310ef8e4c Mon Sep 17 00:00:00 2001
From: derouet2018 <tristan.derouet@gmail.com>
Date: Sat, 7 Jan 2023 16:18:31 +0100
Subject: [PATCH] Try to fix broken queue

---
 instance/index.js | 23 +++++++++++++++++------
 1 file changed, 17 insertions(+), 6 deletions(-)

diff --git a/instance/index.js b/instance/index.js
index 1df2781..2df10e9 100644
--- a/instance/index.js
+++ b/instance/index.js
@@ -8,6 +8,7 @@ const { ipcRenderer } = require('electron'),
 /* Global variables */
 var countKaraInQueue = 0;
 var currentSong = 0;
+var currentSongElement;
 var dragCounter = 0;
 var leavedElement;
 var isDnDFromDB = false;
@@ -353,13 +354,23 @@ ipcRenderer.on('send-song-time-data', (event, timeData) => {
     }px`;
     if (timeData.state == 'play' || timeData.state == 'pause') {
         if (currentSong != timeData.song) {
-            document.getElementsByClassName('karaQueue')[currentSong].style.background = '#4e5d6c';
-            currentSong = timeData.song;
-            document.getElementsByClassName('karaQueue')[timeData.song].scrollIntoView(true);
+            document.getElementsByClassName('karaQueue').some((element) => { 
+                if(element.getElementsByClassName('position')[0].innerHTML == timeData.song+1){
+                    element.style.background = '#6b7d8e';
+                    if(prevElement) {
+                        prevElement.style.background = '#4e5d6c';
+                    }
+                    element.scrollIntoView(true);
+                    currentSongElement = element;
+                    return true;
+                }
+                prevElement = element;
+            });
+            
         }
-        document.getElementsByClassName('karaQueue')[timeData.song].style.background = '#6b7d8e';
-    } else if (document.getElementsByClassName('karaQueue')[timeData.song]) {
-        document.getElementsByClassName('karaQueue')[timeData.song].style.background = '#4e5d6c';
+        currentSongElement.style.background = '#6b7d8e';
+    } else if (currentSongElement) {
+        currentSongElement.style.background = '#4e5d6c';
     }
 });
 
-- 
GitLab