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
cc762a139c
commit
8d1a66e7b8
11 changed files with 1614 additions and 21 deletions
|
|
@ -157,6 +157,7 @@ class _Translations$settings$pt extends Translations$settings$en {
|
|||
@override String get langEs => 'Español';
|
||||
@override String get langEn => 'English';
|
||||
@override String get langPt => 'Português';
|
||||
@override String get langAst => 'Asturianu';
|
||||
@override String get about => 'Acerca de';
|
||||
@override String get aboutText => 'Inventário local e cifrado para sementes tradicionais. AGPL-3.0.';
|
||||
@override String get aboutOpen => 'Acerca do Tanemaki';
|
||||
|
|
@ -616,6 +617,8 @@ class _Translations$market$pt extends Translations$market$en {
|
|||
@override String get setAreaBody => 'Diz ao mercado a tua zona aproximada para ver sementes por perto.';
|
||||
@override String get searching => 'A procurar pela tua zona…';
|
||||
@override String get empty => 'Ainda não há sementes partilhadas perto de ti';
|
||||
@override String get searchHint => 'Procurar nestas sementes';
|
||||
@override String get noMatches => 'Nenhuma semente partilhada corresponde à procura';
|
||||
@override String get near => 'Perto de ti';
|
||||
@override String get contact => 'Mensagem';
|
||||
@override String get mine => 'Tu';
|
||||
|
|
@ -1076,6 +1079,7 @@ extension on TranslationsPt {
|
|||
'settings.langEs' => 'Español',
|
||||
'settings.langEn' => 'English',
|
||||
'settings.langPt' => 'Português',
|
||||
'settings.langAst' => 'Asturianu',
|
||||
'settings.about' => 'Acerca de',
|
||||
'settings.aboutText' => 'Inventário local e cifrado para sementes tradicionais. AGPL-3.0.',
|
||||
'settings.aboutOpen' => 'Acerca do Tanemaki',
|
||||
|
|
@ -1350,6 +1354,8 @@ extension on TranslationsPt {
|
|||
'market.setAreaBody' => 'Diz ao mercado a tua zona aproximada para ver sementes por perto.',
|
||||
'market.searching' => 'A procurar pela tua zona…',
|
||||
'market.empty' => 'Ainda não há sementes partilhadas perto de ti',
|
||||
'market.searchHint' => 'Procurar nestas sementes',
|
||||
'market.noMatches' => 'Nenhuma semente partilhada corresponde à procura',
|
||||
'market.near' => 'Perto de ti',
|
||||
'market.contact' => 'Mensagem',
|
||||
'market.mine' => 'Tu',
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue