diff --git a/src/renderer/pages/available-versions-list.components.tsx b/src/renderer/pages/available-versions-list.components.tsx index e61aad5c..4073ab7a 100644 --- a/src/renderer/pages/available-versions-list.components.tsx +++ b/src/renderer/pages/available-versions-list.components.tsx @@ -1,8 +1,8 @@ -import { BSVersion } from "../../main/services/bs-version-manager.service"; import { AvailableVersionsSlider } from "../components/available-versions/available-versions-slider.component"; -import { useState } from "react"; import { BsDownloaderService } from "../services/bs-downloader.service"; import { Slideshow } from "renderer/components/slideshow/slideshow.component"; +import { useEffect, useState } from "react"; +import { BSVersion } from "main/services/bs-version-manager.service"; export function AvailableVersionsList() { @@ -15,24 +15,44 @@ export function AvailableVersionsList() { require('../../../assets/slideshow-images/image-6-blur.png'), require('../../../assets/slideshow-images/image-7-blur.png'), ]; - - const [versionSelected, setVersionSelected] = useState(null as BSVersion); const bsDownloaderService: BsDownloaderService = BsDownloaderService.getInstance(); - const selectedVersionCallback = (v: BSVersion) => { - setVersionSelected(v); - } + const [versionSelected, setVersionSelected] = useState(null as BSVersion); + const [currentDownload, setCurrentDownload] = useState(null as BSVersion); + const [downloadProgress, setDownloadProgress] = useState(0); const startInstall = () => { - bsDownloaderService.download(versionSelected); + bsDownloaderService.download(); } + useEffect(() => { + const versionSelectedSub = bsDownloaderService.selectedBsVersion$.subscribe(version => { + setVersionSelected(version); + }); + + const currentDownloadSub = bsDownloaderService.currentBsVersionDownload$.subscribe(version => { + setCurrentDownload(version); + }); + + const downloadProgressSub = bsDownloaderService.downloadProgress$.subscribe(progress => { + setDownloadProgress(progress); + }) + + return () => { + versionSelectedSub.unsubscribe(); + currentDownloadSub.unsubscribe(); + downloadProgressSub.unsubscribe(); + } + }, []) + + return ( -
+
-
-

Select a Version

- +

Select a Version

+ +
+ DOWNLOAD
)