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 145c88c5..f1adde74 100644 --- a/src/renderer/components/nav-bar/bs-version-item.component.tsx +++ b/src/renderer/components/nav-bar/bs-version-item.component.tsx @@ -1,5 +1,5 @@ import { BSVersion } from "main/services/bs-version-manager.service"; -import { Link } from "react-router-dom"; +import { Link, useLocation } 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"; @@ -8,34 +8,40 @@ import { combineLatest } from "rxjs"; export default function BsVersionItem(props: {version: BSVersion}) { + const { state } = useLocation() as { state: BSVersion}; + const [downloading, setDownloading] = useState(false); const [downloadPercent, setDownloadPercent] = useState(0); const downloaderService = BsDownloaderService.getInstance(); + const isActive = (): boolean => { + return props.version?.BSVersion === state?.BSVersion && props?.version.steam === state?.steam; + } + useEffect(() => { combineLatest([downloaderService.currentBsVersionDownload$, downloaderService.downloadProgress$]).subscribe(vals => { - if(vals[0]?.BSVersion === props.version.BSVersion){ - setDownloading(true); + if(vals[0]?.BSVersion === props.version.BSVersion && vals[0]?.steam === props.version.steam){ + setDownloading(true); setDownloadPercent(vals[1]); } - else{ - setDownloading(false); + else{ + setDownloading(false); setDownloadPercent(0); } }) }, []) - + return (
-
- +
+ {props.version.steam && } {!props.version.steam && } {props.version.BSVersion}
- + ) }