From f8f3230a0a4aec3663811101b7c082dfb2f09278 Mon Sep 17 00:00:00 2001 From: MathieuG-P <40181755+Zagrios@users.noreply.github.com> Date: Mon, 6 Jun 2022 23:37:29 +0200 Subject: [PATCH] version card finished --- .../available-version-item.component.tsx | 53 +++++++++++++++---- 1 file changed, 43 insertions(+), 10 deletions(-) diff --git a/src/renderer/components/available-versions/available-version-item.component.tsx b/src/renderer/components/available-versions/available-version-item.component.tsx index f32f4760..156a563c 100644 --- a/src/renderer/components/available-versions/available-version-item.component.tsx +++ b/src/renderer/components/available-versions/available-version-item.component.tsx @@ -1,17 +1,50 @@ import { BSVersion } from "main/services/bs-version-manager.service"; +import './available-version-item.component.css'; +import { SteamIcon } from "../svgs/steam-icon.component"; +import { useEffect, useState } from "react"; +import { BsDownloaderService } from "renderer/services/bs-downloader.service"; +import { distinctUntilChanged, distinctUntilKeyChanged } from "rxjs"; export function AvailableVersionItem(props: {version: BSVersion}) { + + const bsDownloaderService = BsDownloaderService.getInstance(); + + const [selected, setSelected] = useState(false); + + const onClickAction = () => { + if(selected){ + bsDownloaderService.selectedBsVersion$.next(null); + } + else{ + bsDownloaderService.selectedBsVersion$.next(props.version); + } + } + + useEffect(() => { + const sub = bsDownloaderService.selectedBsVersion$.pipe(distinctUntilChanged()).subscribe((version) => { + setSelected(version?.BSVersion === props.version.BSVersion) + }); + + return () => { + sub.unsubscribe(); + } + }, []) + return ( -
-
-