bugfix: datatables search for radio queue was returning incorrect queue positions for items once a filter/query was provided (numbering/index was based on the filtered resultset)

This commit is contained in:
2025-04-27 08:27:08 -04:00
parent 2a49a92bb2
commit 8848d3a493
2 changed files with 17 additions and 17 deletions

View File

@ -128,9 +128,9 @@ class Radio(FastAPI):
start: int = int(data.start)
end: int = start + 20
search: Optional[str] = data.search
orig_queue: list[dict] = self.radio_util.active_playlist
if not search:
queue_full: list = self.radio_util.active_playlist
queue_full: list = orig_queue
else:
queue_full: list = self.radio_util.datatables_search(data.search)
queue: list = queue_full[start:end]
@ -138,7 +138,7 @@ class Radio(FastAPI):
for x, item in enumerate(queue):
queue_out.append(
{
"pos": queue_full.index(item),
"pos": orig_queue.index(item),
"id": item.get("id"),
"uuid": item.get("uuid"),
"artist": item.get("artist"),
@ -150,7 +150,7 @@ class Radio(FastAPI):
}
)
fallback_playlist_len: int = len(
self.radio_util.active_playlist
orig_queue
) # Used if search term is provided
out_json = {
"draw": data.draw,