From 19f0074c0ce004d99e96cc5391554cd13a6fd5bd Mon Sep 17 00:00:00 2001 From: MathieuG-P <40181755+Zagrios@users.noreply.github.com> Date: Tue, 24 May 2022 23:15:03 +0200 Subject: [PATCH] download animation when download --- .../nav-bar/bs-version-item.component.tsx | 36 ++++++++++++++++--- .../components/nav-bar/nav-bar.component.css | 20 +++++++++++ 2 files changed, 51 insertions(+), 5 deletions(-) diff --git a/src/renderer/components/nav-bar/bs-version-item.component.tsx b/src/renderer/components/nav-bar/bs-version-item.component.tsx index c2ef0bb7..041e06ed 100644 --- a/src/renderer/components/nav-bar/bs-version-item.component.tsx +++ b/src/renderer/components/nav-bar/bs-version-item.component.tsx @@ -2,14 +2,40 @@ import { BSVersion } from "main/services/bs-version-manager.service"; import { Link } from "react-router-dom"; import { BsNoteFill } from "../svgs/bs-note-fill.component"; import { SteamIcon } from "../svgs/steam-icon.component"; +import { BsDownloaderService } from "renderer/services/bs-downloader.service"; +import { useEffect, useState } from "react"; +import { combineLatest, distinctUntilChanged, merge } from "rxjs"; export default function BsVersionItem(props: {version: BSVersion}) { + + const [downloading, setDownloading] = useState(false); + const [downloadPercent, setDownloadPercent] = useState(0); + + const downloaderService = BsDownloaderService.getInstance(); + + console.log(props.version.BSVersion === downloaderService.currentBsVersionDownload$.value?.BSVersion, props.version.BSVersion); + + useEffect(() => { + console.log("oéoéoé", props.version.BSVersion); + combineLatest([downloaderService.currentBsVersionDownload$, downloaderService.downloadProgress$]).subscribe(vals => { + if(vals[0]?.BSVersion === props.version.BSVersion){ + setDownloading(true); + setDownloadPercent(vals[1]); + } + else{ + setDownloading(false); + setDownloadPercent(0); + } + }) + }, []) + + return ( -