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] #[tauri::command]
pub async fn list_submissions(mode: String) -> String { pub async fn list_submissions(mode: String, page: String) -> String {
let res = web::query( let res = web::query(
format!( format!(
"{}/apiv9/Util/Game/Submissions?_idGameRow=8552&_nPage=1&_nPerpage=50&_sMode={}", "{}/apiv9/Util/Game/Submissions?_idGameRow=8552&_nPage={}&_nPerpage=50&_sMode={}",
SITE_URL, mode SITE_URL, page, mode
) )
.as_str(), .as_str(),
) )

View File

@@ -118,13 +118,30 @@ interface ModDownload {
} }
export async function getMods(mode: string) { export async function getMods(mode: string) {
const resp = JSON.parse( let modList: GamebananaResponse[] = []
await invoke('list_submissions', { let hadMods = true
mode, 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[]) { export async function formatGamebananaData(obj: GamebananaResponse[]) {