import { useEffect } from 'react' import axios from 'axios' import { InstallsProps } from '../types/InstallsProps' import { platform } from '@tauri-apps/plugin-os' import './Installs.css' import { format } from 'date-fns' import { invoke } from '@tauri-apps/api/core' import { message } from '@tauri-apps/plugin-dialog' export default function Installs ({ downloadProgress, showPopup, setShowPopup, setPopupMode, setFadeOut, setSelectedVersionList, setVersionList, downloadedVersionsConfig, normalConfig }: InstallsProps) { useEffect(() => { if (!showPopup) return setSelectedVersionList([]) setVersionList(null) ;(async () => { try { while (normalConfig != null) { const useWine = normalConfig.settings.useWineOnUnixWhenNeeded const res = await axios.get( 'https://berrydash.lncvrt.xyz/database/launcher/versions.php' ) const p = platform() const filtered = res.data.filter((d: { platforms: string[] }) => p === 'macos' || p === 'linux' ? useWine ? d.platforms.includes('windows') || d.platforms.includes(p) : d.platforms.includes(p) : d.platforms.includes(p) ) setVersionList(filtered) break } } catch { setVersionList([]) } })() }, [showPopup]) return (

Install

{downloadedVersionsConfig && downloadedVersionsConfig.list.length ? ( downloadedVersionsConfig.list .sort((a, b) => b.version.id - a.version.id) .map((entry, i) => (

Berry Dash v{entry.version.displayName}

Installed{' '} {format(new Date(entry.installDate), 'yyyy/MM/dd')}

)) ) : (

No versions installed

)}
) }