Add types to downloads, will be for modding stuff

This commit is contained in:
Lncvrt committed 2026-03-13 18:11:58 -07:00
1 parent e1f0ce1290
commit e8dec1a1b2
6 files changed
+33 -13

No files matched your search

+3 -1
View File
@@ -42,7 +42,9 @@ type GlobalCtxType = {
} | null
viewingInfoFromDownloads: boolean
version: string | null
downloadVersions: (list: string[]) => Promise<void>
downloadVersions: (
list: Array<{ id: string; type: 0 | 1 | 2 }>
) => Promise<void>
category: number
setCategory: Dispatch<SetStateAction<number>>
downloadQueue: string[]
+6 -1
View File
@@ -276,7 +276,12 @@ export default function Installs () {
//reinstall
setSelectedVersionList([entry])
downloadVersions([entry])
downloadVersions([
{
id: entry,
type: 0
}
])
} else {
openFolder(entry)
}
+9 -8
View File
@@ -361,22 +361,22 @@ export default function RootLayout ({
}, [])
const downloadVersions = useCallback(
async (list: string[]): Promise<void> => {
async (list: Array<{ id: string; type: 0 | 1 | 2 }>): Promise<void> => {
if (list.length === 0) return
setSelectedVersionList([])
const newVersions = list.filter(
version =>
!downloadQueue.includes(version) &&
!downloadProgress.some(d => d.version === version)
item =>
!downloadQueue.includes(item.id) &&
!downloadProgress.some(d => d.version === item.id)
)
if (newVersions.length === 0) return
const newDownloads = newVersions.map(
version =>
item =>
new DownloadProgress(
version,
item.id,
0,
0,
false,
@@ -393,12 +393,13 @@ export default function RootLayout ({
0,
null,
null,
null
null,
item.type
)
)
setDownloadProgress(prev => [...prev, ...newDownloads])
setDownloadQueue(prev => [...prev, ...newVersions])
setDownloadQueue(prev => [...prev, ...newVersions.map(v => v.id)])
},
[downloadQueue, downloadProgress]
)
+6 -1
View File
@@ -196,7 +196,12 @@ export default function ManageVersionPopup () {
//reinstall
setSelectedVersionList([managingVersion])
downloadVersions([managingVersion])
downloadVersions([
{
id: managingVersion,
type: 0
}
])
}}
title="Click to reinstall this game. This will NOT remove any progress or any save files. This WILL uninstall any modifications to the game's executable files."
hidden={viewingInfoFromDownloads}
+7 -1
View File
@@ -15,6 +15,7 @@ export default function VersionsDownloadPopup () {
downloadVersions,
getGameInfo
} = useGlobal()
if (!selectedGame) return <></>
return (
@@ -78,7 +79,12 @@ export default function VersionsDownloadPopup () {
className='button btntheme1 w-fit mt-2 -mb-4'
onClick={() => {
if (downloadedVersionsConfig) {
downloadVersions(selectedVersionList)
downloadVersions(
selectedVersionList.map(versionId => ({
id: versionId,
type: 0
}))
)
setPopupMode(1)
}
}}
+2 -1
View File
@@ -17,6 +17,7 @@ export class DownloadProgress {
public unzipped: number,
public url: string | null,
public executable: string | null,
public hash: string | null
public hash: string | null,
public type: 0 | 1 | 2
) {}
}