fix(ux): filter clear pinned, no-match text, instant avatar save, market avatar, favourites, WoT drawer

Six reported UX issues:
- Inventory 'clear filters' is now pinned outside the horizontal scroll,
  always visible — you no longer have to scroll past every chip to find it.
- Empty result now reads 'No seeds match your filters' (not 'no seeds
  yet') when a SEARCH or the 'this month' filter hid everything — the
  'filtered' flag was missing query + sowThisMonthOnly. Guarded by a test.
- Profile avatar saves + publishes the instant you pick it, so it no
  longer looks saved when it wasn't (the Save button sits below the fold).
- Market offer detail shows the author's real avatar (photo/illustration)
  instead of a generic person icon — resolves + caches their kind:0 picture.
- 'Wishlist' renamed to Favourites/Favoritos (en/es/pt/ast).
- The drawer 'following' item now opens the web-of-trust 'your people'
  screen when the social layer is on (was a dead item).

analyze clean; inventory/market/home + overflow suites green.
This commit is contained in:
vjrj 2026-07-12 02:56:08 +02:00
parent 514d3c7364
commit be5977d688
14 changed files with 91 additions and 33 deletions

View file

@ -114,7 +114,11 @@ class _ProfileScreenState extends State<ProfileScreen> {
Future<void> _editAvatar() async {
final result = await showAvatarPicker(context, current: _avatar);
if (result != null && mounted) setState(() => _avatar = result);
if (result == null || !mounted) return;
setState(() => _avatar = result);
// Persist + publish right away: an avatar change shouldn't depend on
// finding the Save button further down the screen.
await _save();
}
Future<void> _copyId() async {