diff --git a/package.json b/package.json index b389acf..978f827 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "osu-local-scores", - "version": "1.0.3", + "version": "1.0.4", "description": "Process local replays and present them in a filterable way", "productName": "osu! Score Overview", "author": "Yentis#5218", diff --git a/src/composables/useScore.ts b/src/composables/useScore.ts index 32e504c..058bff7 100644 --- a/src/composables/useScore.ts +++ b/src/composables/useScore.ts @@ -26,9 +26,7 @@ const filter: Filter = reactive({ status: Array.from(STATUS.keys()), gamemode: MODES.map((_, index) => index), grade: GRADES.map((_, index) => index), - comboType: 1, mods: new Map(), - ppType: 1, highestScorePerMode: false }) diff --git a/src/interfaces/Filter.ts b/src/interfaces/Filter.ts index 5046070..99064a4 100644 --- a/src/interfaces/Filter.ts +++ b/src/interfaces/Filter.ts @@ -2,29 +2,27 @@ export default interface Filter { search: string status: number[] gamemode: number[] - scoreMin?: number - scoreMax?: number + scoreMin?: number | string + scoreMax?: number | string grade: number[] - accuracyMin?: number - accuracyMax?: number - missesMin?: number - missesMax?: number - comboMin?: number - comboMax?: number - altComboMin?: number - altComboMax?: number - maxComboMin?: number - maxComboMax?: number - comboType: number + accuracyMin?: number | string + accuracyMax?: number | string + missesMin?: number | string + missesMax?: number | string + comboMin?: number | string + comboMax?: number | string + altComboMin?: number | string + altComboMax?: number | string + maxComboMin?: number | string + maxComboMax?: number | string mods: Map dateMin?: string dateMax?: string - ppMin?: number - ppMax?: number - altPpMin?: number - altPpMax?: number - maxPpMin?: number - maxPpMax?: number - ppType: number + ppMin?: number | string + ppMax?: number | string + altPpMin?: number | string + altPpMax?: number | string + maxPpMin?: number | string + maxPpMax?: number | string highestScorePerMode: boolean } diff --git a/src/worker/Worker.ts b/src/worker/Worker.ts index 116ac71..d20015f 100644 --- a/src/worker/Worker.ts +++ b/src/worker/Worker.ts @@ -127,8 +127,8 @@ function filterBeatmaps (filter: Filter): DatabaseResponse[] { if (!filter.gamemode.includes(score.gamemode)) return false // Score - const scoreMin = filter.scoreMin !== undefined ? filter.scoreMin : score.score - const scoreMax = filter.scoreMax !== undefined ? filter.scoreMax : score.score + const scoreMin = typeof filter.scoreMin === 'number' ? filter.scoreMin : score.score + const scoreMax = typeof filter.scoreMax === 'number' ? filter.scoreMax : score.score if (score.score < scoreMin || score.score > scoreMax) { return false } @@ -137,30 +137,30 @@ function filterBeatmaps (filter: Filter): DatabaseResponse[] { if (!filter.grade.includes(score.grade)) return false // Accuracy - const accuracyMin = filter.accuracyMin !== undefined ? filter.accuracyMin : score.accuracy - const accuracyMax = filter.accuracyMax !== undefined ? filter.accuracyMax : score.accuracy + const accuracyMin = typeof filter.accuracyMin === 'number' ? filter.accuracyMin : score.accuracy + const accuracyMax = typeof filter.accuracyMax === 'number' ? filter.accuracyMax : score.accuracy if (score.accuracy < accuracyMin || score.accuracy > accuracyMax) { return false } // Misses - const missesMin = filter.missesMin !== undefined ? filter.missesMin : score.misses - const missesMax = filter.missesMax !== undefined ? filter.missesMax : score.misses + const missesMin = typeof filter.missesMin === 'number' ? filter.missesMin : score.misses + const missesMax = typeof filter.missesMax === 'number' ? filter.missesMax : score.misses if (score.misses < missesMin || score.misses > missesMax) { return false } // Combo - const comboMin = filter.comboMin !== undefined ? filter.comboMin : score.combo - const comboMax = filter.comboMax !== undefined ? filter.comboMax : score.combo + const comboMin = typeof filter.comboMin === 'number' ? filter.comboMin : score.combo + const comboMax = typeof filter.comboMax === 'number' ? filter.comboMax : score.combo if (score.combo < comboMin || score.combo > comboMax) { return false } // Max Combo const maxCombo = score.maxCombo || 0 - const maxComboMin = filter.maxComboMin !== undefined ? filter.maxComboMin : maxCombo - const maxComboMax = filter.maxComboMax !== undefined ? filter.maxComboMax : maxCombo + const maxComboMin = typeof filter.maxComboMin === 'number' ? filter.maxComboMin : maxCombo + const maxComboMax = typeof filter.maxComboMax === 'number' ? filter.maxComboMax : maxCombo if (maxCombo < maxComboMin || maxCombo > maxComboMax) { return false } @@ -173,8 +173,8 @@ function filterBeatmaps (filter: Filter): DatabaseResponse[] { altCombo = maxCombo !== 0 ? ((score.combo / maxCombo) * 100) : 0 } - const altComboMin = filter.altComboMin !== undefined ? filter.altComboMin : altCombo - const altComboMax = filter.altComboMax !== undefined ? filter.altComboMax : altCombo + const altComboMin = typeof filter.altComboMin === 'number' ? filter.altComboMin : altCombo + const altComboMax = typeof filter.altComboMax === 'number' ? filter.altComboMax : altCombo if (altCombo < altComboMin || altCombo > altComboMax) { return false } @@ -224,24 +224,24 @@ function filterBeatmaps (filter: Filter): DatabaseResponse[] { // PP const pp = score.pp || 0 - const ppMin = filter.ppMin !== undefined ? filter.ppMin : pp - const ppMax = filter.ppMax !== undefined ? filter.ppMax : pp + const ppMin = typeof filter.ppMin === 'number' ? filter.ppMin : pp + const ppMax = typeof filter.ppMax === 'number' ? filter.ppMax : pp if (pp < ppMin || pp > ppMax) { return false } // Max PP const maxPp = score.maxPp || 0 - const maxPpMin = filter.maxPpMin !== undefined ? filter.maxPpMin : maxPp - const maxPpMax = filter.maxPpMax !== undefined ? filter.maxPpMax : maxPp + const maxPpMin = typeof filter.maxPpMin === 'number' ? filter.maxPpMin : maxPp + const maxPpMax = typeof filter.maxPpMax === 'number' ? filter.maxPpMax : maxPp if (maxPp < maxPpMin || maxPp > maxPpMax) { return false } // Alt PP const altPp = maxPp !== 0 ? ((pp / maxPp) * 100) : 0 - const altPpMin = filter.altPpMin !== undefined ? filter.altPpMin : altPp - const altPpMax = filter.altPpMax !== undefined ? filter.altPpMax : altPp + const altPpMin = typeof filter.altPpMin === 'number' ? filter.altPpMin : altPp + const altPpMax = typeof filter.altPpMax === 'number' ? filter.altPpMax : altPp if (altPp < altPpMin || altPp > altPpMax) { return false }