Implement multi-select search combobox

This commit is contained in:
gpt-engineer-app[bot]
2025-10-16 15:56:19 +00:00
parent d9e05125fe
commit 294019f7bd
3 changed files with 91 additions and 28 deletions

View File

@@ -43,7 +43,7 @@ export function useRideCreditFilters(credits: UserRideCredit[]) {
const filteredCredits = useMemo(() => {
let result = [...credits];
// Search filter
// Search filter (text search)
if (debouncedSearchQuery) {
const search = debouncedSearchQuery.toLowerCase();
result = result.filter(credit =>
@@ -52,6 +52,21 @@ export function useRideCreditFilters(credits: UserRideCredit[]) {
);
}
// Selected search items filter (multi-select combobox)
if (filters.selectedSearchItems && filters.selectedSearchItems.length > 0) {
result = result.filter(credit => {
return filters.selectedSearchItems!.some(item => {
const [type, id] = item.split(':');
if (type === 'ride' && credit.rides?.id === id) return true;
if (type === 'park' && credit.rides?.parks?.id === id) return true;
if (type === 'manufacturer' && credit.rides?.manufacturer?.id === id) return true;
return false;
});
});
}
// Categories
if (filters.categories && filters.categories.length > 0) {
result = result.filter(credit =>