mirror of
https://github.com/Grasscutters/Cultivation.git
synced 2025-12-15 00:24:45 +01:00
Better mod searching
This commit is contained in:
@@ -117,13 +117,38 @@ interface ModDownload {
|
||||
containsExe: boolean
|
||||
}
|
||||
|
||||
export async function getMods(mode: string, page: number) {
|
||||
export async function getMods(mode: string, page: number, search: string) {
|
||||
let modList: GamebananaResponse[] = []
|
||||
|
||||
if (search.length > 0) {
|
||||
let hadMods = true
|
||||
let page = 1
|
||||
|
||||
while (hadMods) {
|
||||
const resp = JSON.parse(
|
||||
await invoke('list_submissions', {
|
||||
mode,
|
||||
page: '' + page,
|
||||
search: search
|
||||
})
|
||||
)
|
||||
|
||||
const total = resp._aMetadata._nRecordCount
|
||||
|
||||
if (page > (total / 15)) hadMods = false
|
||||
|
||||
modList = [...modList, ...resp._aRecords]
|
||||
page++
|
||||
}
|
||||
|
||||
return formatGamebananaData(modList)
|
||||
}
|
||||
|
||||
const resp = JSON.parse(
|
||||
await invoke('list_submissions', {
|
||||
mode,
|
||||
page: '' + page,
|
||||
search: '',
|
||||
})
|
||||
)
|
||||
|
||||
@@ -132,28 +157,6 @@ export async function getMods(mode: string, page: number) {
|
||||
return formatGamebananaData(modList)
|
||||
}
|
||||
|
||||
export async function getAllMods(mode: string) {
|
||||
let modList: GamebananaResponse[] = []
|
||||
let hadMods = true
|
||||
let page = 1
|
||||
|
||||
while (hadMods) {
|
||||
const resp = JSON.parse(
|
||||
await invoke('list_submissions', {
|
||||
mode,
|
||||
page: '' + page,
|
||||
})
|
||||
)
|
||||
|
||||
if (resp.length === 0) hadMods = false
|
||||
|
||||
modList = [...modList, ...resp]
|
||||
page++
|
||||
}
|
||||
|
||||
return formatGamebananaData(modList)
|
||||
}
|
||||
|
||||
export async function formatGamebananaData(obj: GamebananaResponse[]) {
|
||||
if (!obj) return []
|
||||
|
||||
@@ -166,8 +169,8 @@ export async function formatGamebananaData(obj: GamebananaResponse[]) {
|
||||
name: itm._sName,
|
||||
images: img
|
||||
? img.map((i) => {
|
||||
return i._sBaseUrl + '/' + i._sFile220
|
||||
})
|
||||
return i._sBaseUrl + '/' + i._sFile220
|
||||
})
|
||||
: [],
|
||||
dateadded: itm._tsDateAdded,
|
||||
submitter: {
|
||||
|
||||
Reference in New Issue
Block a user