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:
@@ -21,6 +21,17 @@ import '../helpers/fakes.dart';
|
||||
/// provider from the start, not just `EstadoBusqueda`. A non-empty query is
|
||||
/// entered first so the screen leaves the landing state and reaches the
|
||||
/// search-results branch this test actually targets.
|
||||
///
|
||||
/// Bugfix (surfaced while landing audit item 18's "Explorar por" grid):
|
||||
/// on the FIRST pump here (landing state, empty `EstadoRadio`, default
|
||||
/// narrow test viewport, no `_setLargeSurfaceSize`), `_gridEmisoras`
|
||||
/// renders its empty-state branch — `PluriEmptyState`, in a fixed
|
||||
/// `SizedBox(height: 260)`. That widget's own Column overflowed by 10px
|
||||
/// at this width with real ARB copy (`pluri_premium_widgets.dart`,
|
||||
/// fixed by wrapping it in a `SingleChildScrollView` — a no-op whenever
|
||||
/// content already fits, which is every real device width). This test IS
|
||||
/// the end-to-end regression guard for that fix: it renders the exact
|
||||
/// scenario that surfaced it.
|
||||
class _BusquedaCargando extends EstadoBusqueda {
|
||||
_BusquedaCargando() : super(radio: FakeServicioRadio());
|
||||
|
||||
|
||||
Reference in New Issue
Block a user