mirror of
https://github.com/pacnpal/thrilltrack-explorer.git
synced 2025-12-23 16:31:12 -05:00
Implement multi-select search combobox
This commit is contained in:
@@ -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 =>
|
||||
|
||||
Reference in New Issue
Block a user