feat(market): search + pull-to-refresh in the market list
Match the inventory patterns the market was missing: - Search: OffersState gains a `query` + `visibleOffers` getter and OffersCubit.search() filters the already-discovered offers locally by summary (case-insensitive), never re-hitting the transport. The filter survives a refresh. Rounded search field mirrors inventory's. - Pull-to-refresh: RefreshIndicator re-runs discovery for the current area (empty state included, so a swipe re-scans). Text filter kept. - i18n: market.searchHint / market.noMatches (en/es/pt). Note: the shared slang output (strings*.g.dart, incl. the generated Asturian locale) is regenerated wholesale, so it also carries the in-progress `ast` locale keys already present in the working tree.
This commit is contained in:
parent
bd18978aff
commit
beb29915d8
11 changed files with 1614 additions and 21 deletions
|
|
@ -40,6 +40,7 @@
|
|||
"langEs": "Español",
|
||||
"langEn": "English",
|
||||
"langPt": "Português",
|
||||
"langAst": "Asturianu",
|
||||
"about": "About",
|
||||
"aboutText": "Local-first, encrypted inventory for traditional seeds. AGPL-3.0.",
|
||||
"aboutOpen": "About Tanemaki"
|
||||
|
|
@ -346,6 +347,8 @@
|
|||
"setAreaBody": "Tell the market roughly where you are to see seeds nearby.",
|
||||
"searching": "Looking around your area…",
|
||||
"empty": "No seeds shared near you yet",
|
||||
"searchHint": "Search these seeds",
|
||||
"noMatches": "No shared seeds match your search",
|
||||
"near": "Near you",
|
||||
"contact": "Message",
|
||||
"mine": "You",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue