diff --git a/src/renderer/components/modal/modal-types/playlist/playlist-details-modal/local-playlist-details-modal.component.tsx b/src/renderer/components/modal/modal-types/playlist/playlist-details-modal/local-playlist-details-modal.component.tsx index 7638d04b..6019b25b 100644 --- a/src/renderer/components/modal/modal-types/playlist/playlist-details-modal/local-playlist-details-modal.component.tsx +++ b/src/renderer/components/modal/modal-types/playlist/playlist-details-modal/local-playlist-details-modal.component.tsx @@ -34,8 +34,12 @@ export const LocalPlaylistDetailsModal: ModalComponent = ({resolver const installedMaps = useObservable(() => options.data.installedMaps$, null); const isMissingMaps$ = useConstant(() => combineLatest([options.data.installedMaps$, options.data.localPlaylist$]).pipe(map(([maps, playlist]) => maps.length !== playlist.songs.length))); - const isPlaylistDownloading$ = useConstant(() => options.data.localPlaylist$.pipe(switchMap(playlist => playlistDownloader.$isPlaylistDownloading(playlist.path, options.data.version)))); - const isPlaylistInQueue$ = useConstant(() => options.data.localPlaylist$.pipe(switchMap(playlist => playlistDownloader.$isPlaylistInQueue(playlist.path, options.data.version)))); + const isPlaylistDownloading$ = useConstant(() => options.data.localPlaylist$.pipe(switchMap( + playlist => playlistDownloader.$isPlaylistDownloading(playlist?.customData?.syncURL ?? playlist.path, options.data.version) + ))); + const isPlaylistInQueue$ = useConstant(() => options.data.localPlaylist$.pipe(switchMap( + playlist => playlistDownloader.$isPlaylistInQueue(playlist?.customData?.syncURL ?? playlist.path, options.data.version) + ))); const isInQueue = useObservable(() => isPlaylistInQueue$, false); @@ -44,7 +48,7 @@ export const LocalPlaylistDetailsModal: ModalComponent = ({resolver const ignoreSongsHashs = installedMaps?.map(map => map.hash); const obs$ = playlistDownloader.downloadPlaylist({ - downloadSource: localPlaylist.path, + downloadSource: localPlaylist?.customData?.syncURL ?? localPlaylist.path, dest: localPlaylist.path, version: options.data.version, ignoreSongsHashs, diff --git a/src/renderer/components/modal/modal.component.tsx b/src/renderer/components/modal/modal.component.tsx index 2d06fbe3..76555fcb 100644 --- a/src/renderer/components/modal/modal.component.tsx +++ b/src/renderer/components/modal/modal.component.tsx @@ -17,7 +17,7 @@ export function Modal() { useEffect(() => { const onEscape = (e: KeyboardEvent) => { - if (currentModal.options.closable === false || e.key !== "Escape") { + if (currentModal.options?.closable === false || e.key !== "Escape") { return; } currentModal.resolver({ exitCode: ModalExitCode.CLOSED }); @@ -65,7 +65,7 @@ export function Modal() { } const onOverlayClicked = () => { - if (currentModal.options.closable === false) { + if (currentModal.options?.closable === false) { return; }