name: implementing-search-filter
description: Logic for constructing Appwrite queries to filter tours. Use when building the search sidebar or search bar.
Search and Filter Logic
When to use this skill
- Implementing filters for Location, Price, and Dates.
- Handling search queries.
Appwrite Query Logic
import { Query } from 'appwrite';
const queries = [
Query.equal('location', selectedLocation),
Query.greaterThanEqual('price', minPrice),
Query.lessThanEqual('price', maxPrice),
Query.orderAsc('price')
];
const results = await databases.listDocuments(DATABASE_ID, COLLECTION_ID, queries);
Instructions
- Debounce: Debounce text input for location/name search.
- Sync: Keep URL params in sync with filter state for shareable links.