Skip to content

Commit 3ee9ebd

Browse files
committed
refactor: Simplify quest search and rendering logic
1 parent dd5448f commit 3ee9ebd

File tree

1 file changed

+22
-18
lines changed

1 file changed

+22
-18
lines changed

src/frontend/screens/Quests/index.tsx

+22-18
Original file line numberDiff line numberDiff line change
@@ -144,16 +144,20 @@ export function QuestsPage() {
144144
}) ?? []
145145

146146
const fuse = new Fuse(questsWithGameNames ?? [], fuseOptions)
147-
const searchFilteredQuests = searchText
148-
? (fuse.search(searchText) as FuseResult<Quest>[])
149-
: quests?.map((quest) => ({
150-
id: quest.id,
151-
project_id: quest.project_id,
152-
name: quest.name,
153-
title: listings?.[quest.project_id]?.project_meta?.name ?? '',
154-
item: quest,
155-
refIndex: 0
156-
})) ?? []
147+
148+
let searchFilteredQuests: FuseResult<Quest>[] = []
149+
if (searchText) {
150+
searchFilteredQuests = fuse.search(searchText) as FuseResult<Quest>[]
151+
} else if (quests) {
152+
searchFilteredQuests = quests.map((quest) => ({
153+
id: quest.id,
154+
project_id: quest.project_id,
155+
name: quest.name,
156+
title: listings?.[quest.project_id]?.project_meta?.name ?? '',
157+
item: quest,
158+
refIndex: 0
159+
}))
160+
}
157161

158162
const searchQuests = (quests: Quest[], query: string) => {
159163
if (!query) return quests
@@ -196,21 +200,21 @@ export function QuestsPage() {
196200
const title = listings
197201
? listings[result.item.project_id]?.project_meta?.name
198202
: ''
203+
const id = result.item.id
204+
const name = result.item.name
199205
return (
200206
<QuestCard
201-
key={result.item.id}
207+
key={id}
202208
image={imageUrl ?? ''}
203209
title={title}
204210
onClick={() => {
205-
if (selectedQuestId !== result.item.id) {
206-
navigate(`/quests/${result.item.id}`)
211+
if (selectedQuestId !== id) {
212+
navigate(`/quests/${id}`)
207213
}
208214
}}
209-
selected={result.item.id === visibleQuestId}
210-
description={result.item.name}
211-
className={
212-
result.item.id === visibleQuestId ? 'gradientBorder' : undefined
213-
}
215+
selected={id === visibleQuestId}
216+
description={name}
217+
className={id === visibleQuestId ? 'gradientBorder' : undefined}
214218
/>
215219
)
216220
}) ?? []

0 commit comments

Comments
 (0)