Skip to content

Commit 8e5e942

Browse files
committed
feat: remove duplicate levels in list
1 parent 478863c commit 8e5e942

File tree

2 files changed

+23
-17
lines changed

2 files changed

+23
-17
lines changed

src/apis/arknights.ts

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import type { Operator, Version } from 'models/arknights'
44
import type { Response } from 'models/network'
55
import type { Level } from 'models/operation'
66

7-
import { withoutUnusedLevels } from '../models/level'
87
import { request } from '../utils/fetcher'
98

109
const ONE_DAY = 1000 * 60 * 60 * 24
@@ -26,7 +25,29 @@ export const useLevels = ({ suspense }: { suspense?: boolean } = {}) => {
2625
fetcher: async (input: string, init?: RequestInit) => {
2726
const res = await request<LevelResponse>(input, init)
2827

29-
res.data = withoutUnusedLevels(res.data)
28+
const stageIds = new Set<string>()
29+
30+
res.data = res.data.filter((level) => {
31+
if (
32+
// 引航者试炼
33+
level.levelId.includes('bossrush') ||
34+
// 肉鸽
35+
level.levelId.includes('roguelike') ||
36+
// 保全派驻
37+
level.levelId.includes('legion')
38+
) {
39+
return false
40+
}
41+
42+
if (stageIds.has(level.stageId)) {
43+
console.warn('Duplicate level removed:', level.stageId, level.name)
44+
return false
45+
}
46+
47+
stageIds.add(level.stageId)
48+
49+
return true
50+
})
3051

3152
return res
3253
},

src/models/level.ts

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -33,21 +33,6 @@ export function isCustomLevel(level: Level): boolean {
3333
return customLevelKey in level
3434
}
3535

36-
export function withoutUnusedLevels(levels: Level[]) {
37-
const unusedKeywords = [
38-
// 引航者试炼
39-
'bossrush',
40-
// 肉鸽
41-
'roguelike',
42-
// 保全派驻
43-
'legion',
44-
]
45-
return levels.filter(
46-
(level) =>
47-
!unusedKeywords.some((keyword) => level.levelId.includes(keyword)),
48-
)
49-
}
50-
5136
export function isHardMode(stageId: string) {
5237
return stageId.endsWith(HARD_MODE_SUFFIX)
5338
}

0 commit comments

Comments
 (0)