Skip to content

Commit 2c9d036

Browse files
committed
feat(ui): parse sheetname from query
1 parent 80ca44d commit 2c9d036

1 file changed

Lines changed: 17 additions & 5 deletions

File tree

ui/src/search/query.ts

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,25 @@ export interface ApiError {
1212
error: string
1313
}
1414

15+
const sheetPrefix = 'filename:'
16+
17+
function processQuery(searchParams: URLSearchParams, q: string) {
18+
const parts = q.split(' ')
19+
20+
// Extract sheet from query
21+
const sheetPart = parts.findIndex(part => part.startsWith(sheetPrefix))
22+
if (sheetPart !== -1) {
23+
searchParams.set('sheet', parts[sheetPart].slice(sheetPrefix.length))
24+
parts.splice(sheetPart, 1)
25+
}
26+
27+
searchParams.set('q', parts.filter(part => !!part).join(' '))
28+
}
29+
1530
export async function searchApi(
1631
params: {
1732
lang: string
1833
q: string
19-
sheet?: string
2034
offset?: number
2135
limit?: number
2236
fields?: string[]
@@ -25,10 +39,8 @@ export async function searchApi(
2539
): Promise<ApiResponse<StringItem[]>> {
2640
const searchParams = new URLSearchParams()
2741
searchParams.set('lang', params.lang)
28-
searchParams.set('q', params.q)
29-
if (params.sheet) {
30-
searchParams.set('sheet', params.sheet)
31-
}
42+
processQuery(searchParams, params.q)
43+
3244
if (params.offset !== undefined) {
3345
searchParams.set('offset', params.offset.toString())
3446
}

0 commit comments

Comments
 (0)