Click a filter, watch everything react
Traditional photo managers show you every filter value regardless of what you've already selected. You pick a country, then a camera — and get zero results because that camera was never used in that country. Trial and error.
Gallery's filter panels talk to each other. Select Germany and the People panel instantly narrows to only people who appear in German photos. The Camera panel shows only cameras used in Germany. Tags, ratings, media type — everything updates.
This is faceted search — the same pattern Amazon and eBay use. Every visible option is guaranteed to return results. No dead ends, no guessing.
How it works
A single API call returns all filter suggestions in one round trip. Under the hood, the server runs six parallel queries — one per category (countries, cameras, people, tags, ratings, media type). Each query applies all your active filters except its own category, so you always see what else is available given your other selections.
When you select Germany, the countries query excludes the country filter (showing all countries that match your other filters) while the cameras query includes it (showing only cameras used in Germany). This is why it feels instant — one request, six parallel answers.
Orphaned selections stay visible
If you select France and then pick a camera make that was never used in France, France doesn't disappear — it dims. You can see exactly why your result set is empty and undo the selection with one click. No mystery, no frustration.
Ratings and media type adapt too
It's not just dropdowns that update. If your filtered photos are all rated 4 and 5 stars, the 1-2-3 star buttons vanish. If they're all photos (no videos), the Videos button disappears. Every control reflects reality.
Smart debouncing
Rapid clicks are batched — the server isn't hammered when you're selecting multiple people or toggling tags quickly. Temporal changes (picking a year or month) get a slightly longer debounce since the date picker is more exploratory. Clearing all filters is instant.