diff --git a/src/renderer/pages/available-versions-list.components.tsx b/src/renderer/pages/available-versions-list.components.tsx index 29ebefdb..38ef85c1 100644 --- a/src/renderer/pages/available-versions-list.components.tsx +++ b/src/renderer/pages/available-versions-list.components.tsx @@ -7,7 +7,6 @@ import { BsmButton } from "renderer/components/shared/bsm-button.component"; import { AnimatePresence, motion } from "framer-motion"; import { useTranslation } from "renderer/hooks/use-translation.hook"; import { BSVersionManagerService } from "renderer/services/bs-version-manager.service"; -import { useObservable } from "renderer/hooks/use-observable.hook"; export function AvailableVersionsList() { @@ -15,12 +14,15 @@ export function AvailableVersionsList() { const versionManagerService: BSVersionManagerService = BSVersionManagerService.getInstance(); const [versionSelected, setVersionSelected] = useState(null as BSVersion); - const currentVersionDownloading = useObservable(bsDownloaderService.currentBsVersionDownload$); + const [downloading, setDownloading] = useState(false); const t = useTranslation(); - const startDownload = () => { - bsDownloaderService.download(versionSelected, versionManagerService.isVersionInstalled(versionSelected)); - } + const startDownload = () => { + setDownloading(() => true) + bsDownloaderService.download(versionSelected, versionManagerService.isVersionInstalled(versionSelected)).finally(() => { + setDownloading(() => false); + }); + } useEffect(() => { const versionSelectedSub = bsDownloaderService.selectedBsVersion$.subscribe(version => { @@ -40,7 +42,7 @@ export function AvailableVersionsList() { - { versionSelected && !currentVersionDownloading && ( + { versionSelected && !downloading && (