feat(ui): add premium PluriWave redesign
This commit is contained in:
+26
-8
@@ -55,35 +55,53 @@ class FakeServicioAudio extends ServicioAudio {
|
||||
}
|
||||
|
||||
class FakeServicioFavoritos extends ServicioFavoritos {
|
||||
final Map<String, Emisora> _favoritos = {};
|
||||
final List<Emisora> _favoritos = [];
|
||||
int toggleCalls = 0;
|
||||
|
||||
@override
|
||||
Future<List<Emisora>> obtenerTodos() async => _favoritos.values.toList();
|
||||
Future<List<Emisora>> obtenerTodos() async =>
|
||||
_favoritos.map((e) => e.copyWith()).toList();
|
||||
|
||||
@override
|
||||
Future<void> agregar(Emisora emisora) async {
|
||||
_favoritos[emisora.uuid] = emisora;
|
||||
_favoritos.removeWhere((e) => e.uuid == emisora.uuid);
|
||||
_favoritos.add(emisora.copyWith(orden: _favoritos.length));
|
||||
}
|
||||
|
||||
@override
|
||||
Future<void> eliminar(String uuid) async {
|
||||
_favoritos.remove(uuid);
|
||||
_favoritos.removeWhere((e) => e.uuid == uuid);
|
||||
for (var i = 0; i < _favoritos.length; i++) {
|
||||
_favoritos[i] = _favoritos[i].copyWith(orden: i);
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
Future<bool> esFavorito(String uuid) async => _favoritos.containsKey(uuid);
|
||||
Future<bool> esFavorito(String uuid) async =>
|
||||
_favoritos.any((e) => e.uuid == uuid);
|
||||
|
||||
@override
|
||||
Future<bool> toggleFavorito(Emisora emisora) async {
|
||||
toggleCalls += 1;
|
||||
if (_favoritos.containsKey(emisora.uuid)) {
|
||||
_favoritos.remove(emisora.uuid);
|
||||
if (_favoritos.any((e) => e.uuid == emisora.uuid)) {
|
||||
await eliminar(emisora.uuid);
|
||||
return false;
|
||||
}
|
||||
_favoritos[emisora.uuid] = emisora;
|
||||
await agregar(emisora);
|
||||
return true;
|
||||
}
|
||||
|
||||
@override
|
||||
Future<void> reordenar(String uuid, int nuevoOrden) async {
|
||||
final oldIndex = _favoritos.indexWhere((e) => e.uuid == uuid);
|
||||
if (oldIndex == -1 || _favoritos.isEmpty) return;
|
||||
final targetIndex = nuevoOrden.clamp(0, _favoritos.length - 1);
|
||||
final moved = _favoritos.removeAt(oldIndex);
|
||||
_favoritos.insert(targetIndex, moved);
|
||||
for (var i = 0; i < _favoritos.length; i++) {
|
||||
_favoritos[i] = _favoritos[i].copyWith(orden: i);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class FakeServicioRadio extends ServicioRadio {
|
||||
|
||||
Reference in New Issue
Block a user