From c36fc2272f1d6d0b2a1e6311811e03f95195a9a0 Mon Sep 17 00:00:00 2001
From: MathieuG-P <40181755+Zagrios@users.noreply.github.com>
Date: Sun, 26 Jun 2022 23:35:06 +0200
Subject: [PATCH] use delete useless progress bar and use new download system
---
.../available-versions-list.components.tsx | 55 +++++++------------
1 file changed, 21 insertions(+), 34 deletions(-)
diff --git a/src/renderer/pages/available-versions-list.components.tsx b/src/renderer/pages/available-versions-list.components.tsx
index d1c57fd5..d6f5eec1 100644
--- a/src/renderer/pages/available-versions-list.components.tsx
+++ b/src/renderer/pages/available-versions-list.components.tsx
@@ -3,8 +3,10 @@ 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";
-import beatWaitingImg from "../../../assets/beat-waiting.png";
-import beatRunningImg from "../../../assets/beat-running.png"
+import { ProgressBarService } from "renderer/services/progress-bar.service";
+import { BsmButton } from "renderer/components/shared/bsm-button.component";
+import { AnimatePresence, motion } from "framer-motion";
+import { distinctUntilChanged } from "rxjs";
export function AvailableVersionsList() {
@@ -18,13 +20,17 @@ export function AvailableVersionsList() {
require('../../../assets/slideshow-images/image-7-blur.png'),
];
const bsDownloaderService: BsDownloaderService = BsDownloaderService.getInstance();
+ const progressBarService: ProgressBarService = ProgressBarService.getInstance();
const [versionSelected, setVersionSelected] = useState(null as BSVersion);
- const [currentDownload, setCurrentDownload] = useState(null as BSVersion);
- const [downloadProgress, setDownloadProgress] = useState(0);
+ const [progressBarVisible, setProgressBarVisible] = useState(false);
- const startInstall = () => {
- bsDownloaderService.download();
+ const startDownload = () => {
+ if(progressBarService.visible$.value){ return; }
+ progressBarService.show(bsDownloaderService.downloadProgress$);
+ bsDownloaderService.download(versionSelected).then(() => {
+ progressBarService.hide(true);
+ });
}
useEffect(() => {
@@ -32,18 +38,12 @@ export function AvailableVersionsList() {
setVersionSelected(version);
});
- const currentDownloadSub = bsDownloaderService.currentBsVersionDownload$.subscribe(version => {
- setCurrentDownload(version);
- });
-
- const downloadProgressSub = bsDownloaderService.downloadProgress$.subscribe(progress => {
- setDownloadProgress(progress);
+ const progressBarVisibleSub = progressBarService.visible$.pipe(distinctUntilChanged()).subscribe(visible => {
+ setProgressBarVisible(visible);
})
return () => {
versionSelectedSub.unsubscribe();
- currentDownloadSub.unsubscribe();
- downloadProgressSub.unsubscribe();
}
}, [])
@@ -53,27 +53,14 @@ export function AvailableVersionsList() {