'use client' import { useEffect } from 'react' import axios from 'axios' 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' import { useGlobal } from './GlobalProvider' export default function Installs () { const { downloadProgress, showPopup, setShowPopup, setPopupMode, setFadeOut, setSelectedVersionList, setVersionList, downloadedVersionsConfig, normalConfig, setManagingVersion } = useGlobal() 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([]) } })() }, [normalConfig, setSelectedVersionList, setVersionList, showPopup]) return (

Installs

{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), 'MM/dd/yyyy')}

)) ) : (

No versions installed

)}
) }