Global UX patterns - search, cache, errors
Search and filters
- Text search on large lists is usually debounced: typing quickly waits until you pause before the server query runs.
- Filters (status, product, date, NBE flags) often combine-narrow filters before export to avoid row limits.
Caching and “stale” screens
- The app may reuse recent list data for speed. After another user or a batch job changes a record, you might need manual refresh to see the latest row.
- If you approve or reject and return to a list, expect the row status to update; if not, refresh once before reporting a defect.
Errors and retries
- Transient errors (network blip) show a toast or inline message with Retry.
- Permission errors look similar but retry will not help-you need a role change from admin.
- Do not double-click primary actions (Approve, Disburse) on slow networks-wait for success confirmation to avoid duplicate requests.
Next: Implementation plan · Lending overview