navidrome/ui/src/dialogs/dialogState.js

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

37 lines
847 B
JavaScript
Raw Normal View History

const ADD_TO_PLAYLIST_OPEN = 'ADD_TO_PLAYLIST_OPEN'
const ADD_TO_PLAYLIST_CLOSE = 'ADD_TO_PLAYLIST_CLOSE'
2020-05-24 06:03:42 +02:00
const openAddToPlaylist = ({ selectedIds, onSuccess }) => ({
type: ADD_TO_PLAYLIST_OPEN,
2020-05-24 06:03:42 +02:00
selectedIds,
onSuccess,
2020-05-24 06:03:42 +02:00
})
const closeAddToPlaylist = () => ({
type: ADD_TO_PLAYLIST_CLOSE,
2020-05-24 06:03:42 +02:00
})
const addToPlaylistDialogReducer = (
2020-05-24 06:03:42 +02:00
previousState = {
open: false,
},
payload
) => {
const { type } = payload
switch (type) {
case ADD_TO_PLAYLIST_OPEN:
2020-05-24 06:03:42 +02:00
return {
...previousState,
open: true,
selectedIds: payload.selectedIds,
onSuccess: payload.onSuccess,
2020-05-24 06:03:42 +02:00
}
case ADD_TO_PLAYLIST_CLOSE:
return { ...previousState, open: false, onSuccess: undefined }
2020-05-24 06:03:42 +02:00
default:
return previousState
}
}
export { openAddToPlaylist, closeAddToPlaylist, addToPlaylistDialogReducer }