Skip to content

Commit

Permalink
fix filters for real this time
Browse files Browse the repository at this point in the history
  • Loading branch information
Yentis committed Nov 25, 2021
1 parent 04681c6 commit 29b676b
Show file tree
Hide file tree
Showing 4 changed files with 37 additions and 41 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -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",
Expand Down
2 changes: 0 additions & 2 deletions src/composables/useScore.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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<number, boolean | null>(),
ppType: 1,
highestScorePerMode: false
})

Expand Down
38 changes: 18 additions & 20 deletions src/interfaces/Filter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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<number, boolean | null>
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
}
36 changes: 18 additions & 18 deletions src/worker/Worker.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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
}
Expand All @@ -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
}
Expand All @@ -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
}
Expand Down Expand Up @@ -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
}
Expand Down

0 comments on commit 29b676b

Please sign in to comment.