Design empty, loading, and error states
Search feedback should explain whether the page is waiting, found no matches, or could not complete a refresh.
Initial state
Listings (Feed) normally displays its initial results. To require a search first:
- Set Show initial results? to No.
- Add useful content under Initial results placeholder.
- Explain what the visitor should select or enter.
Do not use this option merely to hide a slow initial query. Optimize the context instead.
Loading state
Each context can use an optional spinner:
- Open Settings → POM Theme → Content model → Faceted search.
- Select Edit facets for the context.
- Under Loading spinner, enter Spinner image URL.
- Select Save facets.
If no custom image is supplied, the theme uses its default loading image. The spinner becomes visible while a request is in progress and is hidden again when the refresh ends.
Keep the image lightweight and recognizable at small sizes. Do not encode status text into the image.
No matches
Add Faceted Search Counts and set Empty label to a concise message such as “No resources match these filters.”
Keep Faceted Search Selections and Faceted Search Reset visible so the visitor can recover. Avoid blaming the visitor or suggesting that the whole catalog is empty.
Request failure
The theme preserves the page interface when a refresh cannot be completed. Your surrounding copy should not promise that every empty-looking state means zero matches.
During acceptance testing, use browser developer tools to distinguish:
- a successful response with zero results;
- a rejected or unavailable request;
- a JavaScript or Google Maps loading failure.
If ordinary navigation still works, offer a clear route back to the unfiltered archive. Repeated failures require the checks in Troubleshooting, not a content-only workaround.