From 773432a407503de499fbf7987ae19977c4572f34 Mon Sep 17 00:00:00 2001 From: MathieuG-P <40181755+Zagrios@users.noreply.github.com> Date: Thu, 11 Jul 2024 20:58:37 +0200 Subject: [PATCH] [playlist] fix error when cloning a playlist and some songs are missing --- .../edit-playlist-modal.component.tsx | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/renderer/components/modal/modal-types/playlist/edit-playlist-modal/edit-playlist-modal.component.tsx b/src/renderer/components/modal/modal-types/playlist/edit-playlist-modal/edit-playlist-modal.component.tsx index 47635a4b..2e6e1031 100644 --- a/src/renderer/components/modal/modal-types/playlist/edit-playlist-modal/edit-playlist-modal.component.tsx +++ b/src/renderer/components/modal/modal-types/playlist/edit-playlist-modal/edit-playlist-modal.component.tsx @@ -427,14 +427,15 @@ export const EditPlaylistModal: ModalComponent = ({ resolver, opt playlistAuthor: res.data.playlistAuthor, playlistTitle: res.data.playlistTitle, playlistDescription: res.data.playlistDescription, - songs: Object.values(playlistMaps$.value ?? []).map(playlistMap => { - const props = MapItemComponentPropsMapper.from(playlistMap.map); - const playlistSong: PlaylistSong = { - key: props.mapId, - hash: props.hash, - songName: props.title, - difficulties: playlistMap.difficulties, - } + songs: Object.entries(playlistMaps$.value ?? []).map(([hash, playlistMap]) => { + const props = playlistMap?.map ? MapItemComponentPropsMapper.from(playlistMap.map) : undefined; + const playlistSong: PlaylistSong = {}; + + playlistSong.hash = props?.hash ?? hash; + if(props?.mapId){ playlistSong.key = props.mapId; } + if(props?.title){ playlistSong.songName = props.title; } + if(playlistMap?.difficulties){ playlistSong.difficulties = playlistMap.difficulties; } + return playlistSong; }) }