feat(ui): implement award mockup redesign
Build & Deploy Pluriwave / Análisis de código (push) Successful in 10s
Build & Deploy Pluriwave / Build APK + AAB release (push) Successful in 1m19s

This commit is contained in:
2026-05-20 21:29:36 +02:00
parent eb0ef37c76
commit d8acf74771
14 changed files with 621 additions and 211 deletions
+33 -23
View File
@@ -7,7 +7,9 @@ import 'pantallas/pantalla_buscar.dart';
import 'pantallas/pantalla_favoritos.dart';
import 'pantallas/pantalla_ajustes.dart';
import 'tema/pluriwave_theme.dart';
import 'widgets/pluri_glass_surface.dart';
import 'widgets/pluri_icon.dart';
import 'widgets/pluri_wave_scaffold.dart';
import 'package:pluriwave/widgets/mini_reproductor.dart';
class PluriWaveApp extends StatelessWidget {
@@ -112,32 +114,40 @@ class _PaginaPrincipalState extends State<_PaginaPrincipal> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar:
_indice == 3
? null // PantallaAjustes tiene su propio AppBar
: AppBar(
title: const Text('PluriWave'),
actions: [
IconButton(
icon: const Icon(Icons.bedtime_outlined),
tooltip: 'Timer de sueño',
onPressed: () => _mostrarTimerDialog(context),
),
],
),
body: _paginas[_indice],
bottomNavigationBar: Column(
mainAxisSize: MainAxisSize.min,
children: [
const MiniReproductor(),
NavigationBar(
selectedIndex: _indice,
onDestinationSelected: (i) => setState(() => _indice = i),
destinations: _destinos,
return PluriWaveScaffold(
appBar: AppBar(
title: const Text('PluriWave'),
actions: [
IconButton(
icon: const Icon(Icons.bedtime_outlined),
tooltip: 'Timer de sueno',
onPressed: () => _mostrarTimerDialog(context),
),
],
),
body: SafeArea(top: false, child: _paginas[_indice]),
bottomNavigationBar: SafeArea(
top: false,
child: Padding(
padding: const EdgeInsets.fromLTRB(12, 0, 12, 10),
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
const MiniReproductor(),
PluriGlassSurface(
padding: const EdgeInsets.symmetric(horizontal: 6, vertical: 4),
borderRadius: BorderRadius.circular(999),
child: NavigationBar(
selectedIndex: _indice,
height: 66,
onDestinationSelected: (i) => setState(() => _indice = i),
destinations: _destinos,
),
),
],
),
),
),
);
}