feat(ui) add Save Queue to Playlist (#4110)

* ui: add save queue to playlist

* fix(ui): improve toolbar layout

Signed-off-by: Deluan <deluan@navidrome.org>

* fix(ui): add loading state to save queue dialog

Signed-off-by: Deluan <deluan@navidrome.org>

* fix(ui): refresh playlist after saving queue

Signed-off-by: Deluan <deluan@navidrome.org>

* fix lint

Signed-off-by: Deluan <deluan@navidrome.org>

* remove duplication in PlayerToolbar and add tests

Signed-off-by: Deluan <deluan@navidrome.org>

* fix(i18n): update save queue text for clarity in English and Portuguese

Signed-off-by: Deluan <deluan@navidrome.org>

---------

Signed-off-by: Deluan <deluan@navidrome.org>
This commit is contained in:
Deluan Quintão
2025-05-23 22:04:18 -04:00
committed by GitHub
parent 370f8ba293
commit 514aceb785
12 changed files with 510 additions and 11 deletions
+17
View File
@@ -13,6 +13,8 @@ import {
EXTENDED_INFO_CLOSE,
LISTENBRAINZ_TOKEN_OPEN,
LISTENBRAINZ_TOKEN_CLOSE,
SAVE_QUEUE_OPEN,
SAVE_QUEUE_CLOSE,
SHARE_MENU_OPEN,
SHARE_MENU_CLOSE,
} from '../actions'
@@ -169,3 +171,18 @@ export const listenBrainzTokenDialogReducer = (
return previousState
}
}
export const saveQueueDialogReducer = (
previousState = { open: false },
payload,
) => {
const { type } = payload
switch (type) {
case SAVE_QUEUE_OPEN:
return { ...previousState, open: true }
case SAVE_QUEUE_CLOSE:
return { ...previousState, open: false }
default:
return previousState
}
}