Home Work Services About Blog Contact Start a project
Creator Agency CN Creator App TCN Agent LIVE Games Dentistry Downloads
ENAR

All articles

Filters That Help, Not Trap

Good filters narrow a list without hiding the way back. Keep active filters visible, show the result count, offer a clear reset, and preserve the filter state when someone opens a record and returns.

Make active filters visible and removable

When someone applies a filter, the screen should show what is active. Use a row of chips or a compact summary line above the results. Each chip should be removable on its own, and a single clear action should remove all filters. If the filter panel closes after applying, the active state must remain on screen. A filter that disappears into a hidden panel forces people to reopen it just to remember what they chose.

A simple test: apply two filters, close the panel, and look at the results screen. If you cannot tell which filters are active without reopening the panel, the design fails. Fix it by keeping chips visible or by adding a persistent summary such as 'Category: Invoices, Status: Overdue'.

Show the result count before and after

People need to know whether a filter helped or emptied the list. Display the number of matching records near the top of the results. Update it as filters change. If the count drops to zero, do not leave a blank screen. Show a short message that names the active filters and offers two actions: clear one filter or clear all. This turns a dead end into a quick correction.

Suppose a support agent filters tickets by 'Open' and 'Arabic'. The count shows zero. Instead of a blank list, the screen says no open Arabic tickets match and shows a button to remove the Arabic filter. The agent can adjust in one tap rather than guessing which filter caused the problem.

Preserve context when opening a record

Opening a record from a filtered list should not reset the list. When the user returns, the same filters, scroll position, and result count should still be there. This matters most on mobile, where back navigation is frequent. If the app rebuilds the list from scratch, people lose their place and must reapply filters.

A practical check: filter a list, scroll down, open the fifth record, then go back. The list should return to the same filters and roughly the same position. If it resets to the full list, the state is not being retained. Store filter state in the screen or a shared state holder, not only in the filter panel component.

Handle Arabic queries and right-to-left layout

Arabic search needs more than translating labels. Users may type with or without diacritics, use different forms of the same word, or mix Arabic and English. Normalize the query by removing diacritics and matching common letter variants. Test with real examples such as searching for 'فاتورة' when records contain 'فواتير'. The filter chips and result count must also render correctly in a right-to-left layout, with the count and clear action in expected positions.

A concrete test: search in Arabic for a word with a common spelling variant, apply a status filter, and confirm that matching records appear and that the active filter chips read correctly from right to left. If the query returns nothing because of a diacritic difference, the search normalization is incomplete.

Reset and recovery without losing trust

A reset action should be easy to find and should return the list to its default state. Avoid hiding reset inside a menu. After reset, the result count should reflect the full list. If the user had scrolled, return to the top so the change is obvious. For no-result states, offer a direct path back: clear the last filter, clear all filters, or edit the search term. Do not show a generic error.

Tradeoff: keeping every filter visible can take space on small screens. A compact chip row that scrolls horizontally is usually better than hiding filters behind an icon. The goal is to let people see and undo their choices without hunting.

Continue reading

A practical next step

Explore the related Devign work, then discuss your requirements before committing to a project scope.

Related Devign work · Discuss your project