fix(favoritos): header actions row, chip colours
Audit 4.1 (t4:216): the manage-groups (create_new_folder) and sort (swap_vert) actions now live in PluriRootHeader's own actions slot as two icon buttons -- were an ActionChip inside the chip strip plus a PopupMenuButton sharing a Row with it. The prototype's own back arrow stays absent (binding decision: this root keeps its bottom tab bar, unlike the prototype's pushed-with-back-arrow shape) -- this closes the remaining gap in what was a partial fix. Audit 4.2 (t4:219-221): group filter chips are solid brand teal with dark text when active, listSurface + a faint border when not -- was Material's own ChoiceChip theming (electricMagenta@24% selected). Updated pantalla_favoritos_test.dart's two "Manage lists" text finders to locate the relocated action by key instead (the action is now an icon-only IconButton with a tooltip, not a labelled chip).
This commit is contained in:
@@ -357,7 +357,12 @@ void main() {
|
||||
await tester.pumpWidget(buildScreen(estado));
|
||||
await pumpStable(tester);
|
||||
|
||||
await tester.tap(find.text('Manage lists'));
|
||||
// Audit 4.1 (t4:216): the manage-groups action moved into the
|
||||
// header as a create_new_folder icon button, replacing the old
|
||||
// "Manage lists" ActionChip in the chip strip.
|
||||
await tester.tap(
|
||||
find.byKey(const ValueKey('favorites-manage-groups-action')),
|
||||
);
|
||||
await pumpStable(tester);
|
||||
|
||||
// "Group Management Reachable from Favoritos": the SAME screen
|
||||
@@ -385,7 +390,10 @@ void main() {
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
expect(find.byType(PantallaAjustesGruposFavoritos), findsNothing);
|
||||
expect(find.text('Manage lists'), findsOneWidget);
|
||||
expect(
|
||||
find.byKey(const ValueKey('favorites-manage-groups-action')),
|
||||
findsOneWidget,
|
||||
);
|
||||
|
||||
await estado.crearGrupoFavoritos('Road trip');
|
||||
await pumpStable(tester);
|
||||
@@ -494,6 +502,32 @@ void main() {
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
group('visual fidelity (audit 4.2)', () {
|
||||
testWidgets('the active group chip is solid brand teal with dark text; '
|
||||
'inactive chips use listSurface (t4:219-221)', (tester) async {
|
||||
setLargeSurface(tester);
|
||||
_suppressListTileInkAssertion();
|
||||
final estado = await crearEstadoConFavoritos();
|
||||
addTearDown(estado.dispose);
|
||||
|
||||
await tester.pumpWidget(buildScreen(estado));
|
||||
await pumpStable(tester);
|
||||
|
||||
final activo = tester.widget<ChoiceChip>(
|
||||
find.widgetWithText(ChoiceChip, 'All · 3'),
|
||||
);
|
||||
expect(activo.selected, isTrue);
|
||||
expect(activo.selectedColor, const Color(0xFF21D4D9));
|
||||
expect(activo.labelStyle?.color, const Color(0xFF062126));
|
||||
|
||||
final inactivo = tester.widget<ChoiceChip>(
|
||||
find.widgetWithText(ChoiceChip, 'Rock · 2'),
|
||||
);
|
||||
expect(inactivo.selected, isFalse);
|
||||
expect(inactivo.backgroundColor, const Color(0xFF102532));
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
void setLargeSurface(WidgetTester tester) {
|
||||
|
||||
Reference in New Issue
Block a user