fix(buscar): build the 2x2 "Explorar por" grid, add Novedades

Audit 3.2 (t4 lines 162-171): the prototype groups Países, Géneros,
Tendencias and the entirely-missing Novedades into one 2x2 entry-point
grid. The build had them as three unrelated always-visible widgets
(a Países ListTile, a Géneros FilterChip Wrap, a Tendencias ActionChip
strip) and no Novedades entry at all.

Replaces all three with a single grid section, capability-preserving:
Países still pushes PantallaPaises; Géneros and Tendencias now open
their exact existing content in a picker sheet instead of always-on-
screen (Géneros auto-closes on selection, matching this screen's other
single-choice filter sheets; Tendencias stays open, a browse list, not
a filter). Novedades re-triggers the existing discovery refresh, since
no distinct "new stations" feed exists anywhere in the domain.

New ARB key set (exploreByTitle/exploreTrendingTitle/
exploreTrendingSubtitle/exploreNewTitle/exploreNewSubtitle) translated
across all 13 locales with zero anti-copy allowlist entries needed.

Also fixes a pre-existing PluriEmptyState overflow this restructure
exposed (unrelated to the grid itself, confirmed via isolated repro):
wraps its Column in a SingleChildScrollView so a too-tall title/
subtitle scrolls instead of throwing a hard RenderFlex overflow.
This commit is contained in:
2026-07-30 00:43:27 +02:00
parent a49b2b6519
commit e5d461af53
31 changed files with 755 additions and 58 deletions
+30
View File
@@ -1438,6 +1438,36 @@ abstract class AppLocalizations {
/// **'Géneros'**
String get genresTitle;
/// No description provided for @exploreByTitle.
///
/// In es, this message translates to:
/// **'Explorar por'**
String get exploreByTitle;
/// No description provided for @exploreTrendingTitle.
///
/// In es, this message translates to:
/// **'Tendencias'**
String get exploreTrendingTitle;
/// No description provided for @exploreTrendingSubtitle.
///
/// In es, this message translates to:
/// **'Hoy'**
String get exploreTrendingSubtitle;
/// No description provided for @exploreNewTitle.
///
/// In es, this message translates to:
/// **'Novedades'**
String get exploreNewTitle;
/// No description provided for @exploreNewSubtitle.
///
/// In es, this message translates to:
/// **'Esta semana'**
String get exploreNewSubtitle;
/// No description provided for @offlineBannerTitle.
///
/// In es, this message translates to: