get ALL mods at once

This commit is contained in:
SpikeHD
2022-08-25 20:18:58 -07:00
parent 57c1a7800c
commit a7914406b4
2 changed files with 26 additions and 9 deletions

View File

@@ -15,11 +15,11 @@ pub async fn get_download_links(mod_id: String) -> String {
}
#[tauri::command]
pub async fn list_submissions(mode: String) -> String {
pub async fn list_submissions(mode: String, page: String) -> String {
let res = web::query(
format!(
"{}/apiv9/Util/Game/Submissions?_idGameRow=8552&_nPage=1&_nPerpage=50&_sMode={}",
SITE_URL, mode
"{}/apiv9/Util/Game/Submissions?_idGameRow=8552&_nPage={}&_nPerpage=50&_sMode={}",
SITE_URL, page, mode
)
.as_str(),
)

View File

@@ -118,13 +118,30 @@ interface ModDownload {
}
export async function getMods(mode: string) {
const resp = JSON.parse(
await invoke('list_submissions', {
mode,
})
)
let modList: GamebananaResponse[] = []
let hadMods = true
let page = 1
return formatGamebananaData(resp)
while (hadMods) {
const resp = JSON.parse(
await invoke('list_submissions', {
mode,
page: '' + page,
})
)
if (resp.length === 0) hadMods = false
modList = [...modList, ...resp]
page++
console.log(page)
console.log(resp)
}
console.log(modList)
return formatGamebananaData(modList)
}
export async function formatGamebananaData(obj: GamebananaResponse[]) {