This commit is contained in:
MathieuG-P
2024-09-22 13:59:31 +02:00
2 changed files with 9 additions and 5 deletions
@@ -34,8 +34,12 @@ export const LocalPlaylistDetailsModal: ModalComponent<void, Props> = ({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<void, Props> = ({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,
@@ -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;
}