diff --git a/src/renderer/components/available-versions-array.component.tsx b/src/renderer/components/available-versions-array.component.tsx index d5c7dcea..7287bef5 100644 --- a/src/renderer/components/available-versions-array.component.tsx +++ b/src/renderer/components/available-versions-array.component.tsx @@ -1,18 +1,23 @@ import { BSVersion } from "../../main/services/bs-version-manager.service" import { useEffect, useState } from "react" +import { BSVersionManagerService } from "renderer/services/bs-version-manager.service"; -export function AvailableVersionsArray({versions, setSelectedVersion}: {versions: BSVersion[], setSelectedVersion: Function}) { +export function AvailableVersionsArray({setSelectedVersion}: {setSelectedVersion: Function}) { - const [versionsMap, setVersionsMap] = useState(new Map()) + const [versionsMap, setVersionsMap] = useState(new Map()); + const [versions, setVersions] = useState([] as BSVersion[]); console.log(setSelectedVersion); useEffect(() => { - organiseVersions() + BSVersionManagerService.getInstance().availableVersions$.subscribe(versions => { + organiseVersions(versions); + setVersions(versions); + }); }, []) - const organiseVersions = () => { + const organiseVersions = (versions: BSVersion[]) => { const newMap = new Map(); versions.forEach(v => { newMap.set(v.year, [...(newMap.has(v.year) ? newMap.get(v.year) : []), v]); 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 7955b142..dab1fb78 100644 --- a/src/renderer/components/nav-bar/bs-version-item.component.tsx +++ b/src/renderer/components/nav-bar/bs-version-item.component.tsx @@ -5,10 +5,10 @@ import { SteamIcon } from "../svgs/steam-icon.component"; export default function BsVersionItem(props: {version: BSVersion}) { return ( -
- {props.version.steam && } - {!props.version.steam && } - {props.version.BSVersion} -
+ + {props.version.steam && } + {!props.version.steam && } + {props.version.BSVersion} + ) } diff --git a/src/renderer/components/nav-bar/nav-bar.component.tsx b/src/renderer/components/nav-bar/nav-bar.component.tsx index 3cbc2bc3..965f6475 100644 --- a/src/renderer/components/nav-bar/nav-bar.component.tsx +++ b/src/renderer/components/nav-bar/nav-bar.component.tsx @@ -1,13 +1,21 @@ import { FaPlus, } from 'react-icons/fa'; import { AiFillSetting } from 'react-icons/ai' import './nav-bar.component.css' -import { useSelector } from 'react-redux'; import BsVersionItem from './bs-version-item.component'; import { BSVersion } from 'main/services/bs-version-manager.service'; +import { useEffect, useState } from 'react'; +import { BSVersionManagerService } from 'renderer/services/bs-version-manager.service'; export function NavBar() { - const { installedVersions }: {installedVersions: BSVersion[]} = useSelector((state: any) => state.installedBSReducer); + const [installedVersions, setInstalledVersions] = useState([] as BSVersion[]); + + useEffect(() => { + BSVersionManagerService.getInstance().installedVersions$.subscribe(versions => { + setInstalledVersions(versions); + }) + }, []) + return (