fix(chrome): drop the global AppBar, give each root its own title row
The prototype (t4) draws no global app bar anywhere: every root paints a plain ~56px title row inside its own content instead (Alarmas line 325, Ajustes line 511, Explorar line 641). app.dart wrapped every tab in PluriWaveScaffold(appBar: AppBar(title: Text(appTitle), ...)), adding 56dp of chrome and a "PluriWave" title the prototype never shows. Add PluriRootHeader, a shared 56px title-row widget reused by all 5 roots. Extract app.dart's old _mostrarTimerDialog (only reachable from the removed AppBar action) into a free function, showPluriSleepTimerSheet, so every root's header can open the same sheet directly and the sleep-timer feature stays reachable from every tab with no behaviour change. S1, Tier 1 visual-fidelity pass (audit id 2521).
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
|
||||
/// S1 (Tier 1 visual fidelity): the prototype (`t4`) never draws a global
|
||||
/// `AppBar` — every root owns its own 56px title row instead (see
|
||||
/// `PluriRootHeader` and `root_header_wiring_test.dart`). `app.dart` used to
|
||||
/// wrap every tab in `PluriWaveScaffold(appBar: AppBar(...))`; this is a
|
||||
/// fast source-level regression guard for that removal, since the widget
|
||||
/// under it (`_PaginaPrincipal`) is library-private and constructs real
|
||||
/// platform-backed services, so it cannot be safely widget-tested here.
|
||||
void main() {
|
||||
test('app.dart no longer constructs a global Material AppBar', () {
|
||||
final source = File('lib/app.dart').readAsStringSync();
|
||||
expect(
|
||||
source.contains('AppBar('),
|
||||
isFalse,
|
||||
reason:
|
||||
'the prototype has no global app bar — each root draws its own '
|
||||
'PluriRootHeader inside its content instead',
|
||||
);
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user