'use client' import { useEffect, useState } from 'react' import './Installs.css' import { useGlobal } from './GlobalProvider' import Link from 'next/link' import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import { faCheck, faShieldHalved, faWarning } from '@fortawesome/free-solid-svg-icons' import { platform } from '@tauri-apps/plugin-os' import { useRouter } from 'next/navigation' export default function Installs () { const { downloadProgress, showPopup, setShowPopup, setPopupMode, setFadeOut, setSelectedVersionList, downloadedVersionsConfig, normalConfig, setSelectedGame, getListOfGames, getVersionsAmountData } = useGlobal() const router = useRouter() const [hoveredIds, setHoveredIds] = useState([]) useEffect(() => { if (!showPopup) return setSelectedVersionList([]) }, [normalConfig, setSelectedVersionList, showPopup]) return (

Games

{downloadedVersionsConfig && downloadedVersionsConfig.list.length ? ( getListOfGames() .sort((a, b) => { return a.id - b.id }) .map(i => (
{ if (normalConfig?.settings.useLegacyInteractButtons) return router.push('/game?id=' + i.id) }} onMouseEnter={() => setHoveredIds(prev => [...prev, i.id])} onMouseLeave={() => setHoveredIds(prev => prev.filter(e => e !== i.id)) } >

{i.name}

{(() => { const data = getVersionsAmountData(i.id) if (!data) return 'N/A' return `${data.installed}/${data.total}` })()}{' '} versions installed

)) ) : (

No games installed

)}
) }