Fix Tag Filtering

This commit is contained in:
Stefan Hardegger
2025-07-25 07:49:07 +02:00
parent 12a8f2ee27
commit 6f478ab97a
4 changed files with 55 additions and 12 deletions

View File

@@ -268,7 +268,27 @@ export const searchApi = {
sortBy?: string;
sortDir?: string;
}): Promise<SearchResult> => {
const response = await api.get('/stories/search', { params });
// Create URLSearchParams to properly handle array parameters
const searchParams = new URLSearchParams();
// Add basic parameters
searchParams.append('query', params.query);
if (params.page !== undefined) searchParams.append('page', params.page.toString());
if (params.size !== undefined) searchParams.append('size', params.size.toString());
if (params.minRating !== undefined) searchParams.append('minRating', params.minRating.toString());
if (params.maxRating !== undefined) searchParams.append('maxRating', params.maxRating.toString());
if (params.sortBy) searchParams.append('sortBy', params.sortBy);
if (params.sortDir) searchParams.append('sortDir', params.sortDir);
// Add array parameters - each element gets its own parameter
if (params.authors && params.authors.length > 0) {
params.authors.forEach(author => searchParams.append('authors', author));
}
if (params.tags && params.tags.length > 0) {
params.tags.forEach(tag => searchParams.append('tags', tag));
}
const response = await api.get(`/stories/search?${searchParams.toString()}`);
return response.data;
},
};