fix(ui): unify scroll and improve playback switching
Build & Deploy Pluriwave / Análisis de código (push) Successful in 12s
Build & Deploy Pluriwave / Build APK + AAB release (push) Successful in 1m17s

This commit is contained in:
2026-05-20 23:44:14 +02:00
parent 34022e0814
commit 10520fef48
5 changed files with 138 additions and 191 deletions
+18 -14
View File
@@ -18,7 +18,8 @@ class PantallaFavoritos extends StatelessWidget {
final favoritos = estado.listaFavoritos;
if (favoritos.isEmpty) {
return const Column(
return ListView(
padding: EdgeInsets.fromLTRB(0, 0, 0, 124),
children: [
PluriScreenHeader(
title: 'Favoritos',
@@ -29,7 +30,8 @@ class PantallaFavoritos extends StatelessWidget {
label: 'Coleccion',
),
),
Expanded(
SizedBox(
height: 320,
child: PluriEmptyState(
glyph: PluriIconGlyph.favorites,
title: 'Sin favoritos aun',
@@ -40,20 +42,22 @@ class PantallaFavoritos extends StatelessWidget {
);
}
return Column(
children: [
PluriScreenHeader(
title: 'Favoritos',
subtitle: 'Reordena tu coleccion y deja arriba las radios que mas importan.',
glyph: PluriIconGlyph.favorites,
trailing: PluriStatusPill(
icon: Icons.library_music_rounded,
label: '${favoritos.length} guardadas',
return CustomScrollView(
slivers: [
SliverToBoxAdapter(
child: PluriScreenHeader(
title: 'Favoritos',
subtitle: 'Reordena tu coleccion y deja arriba las radios que mas importan.',
glyph: PluriIconGlyph.favorites,
trailing: PluriStatusPill(
icon: Icons.library_music_rounded,
label: '${favoritos.length} guardadas',
),
),
),
Expanded(
child: ReorderableListView.builder(
padding: const EdgeInsets.fromLTRB(12, 4, 12, 122),
SliverPadding(
padding: const EdgeInsets.fromLTRB(12, 4, 12, 124),
sliver: SliverReorderableList(
proxyDecorator: (child, index, animation) => ScaleTransition(
scale: Tween<double>(begin: 1, end: 1.03).animate(animation),
child: child,