Funcionalidad basica para manejar dificultades hecha. Falta mejorar interfaz

parent 53752d51
......@@ -12,7 +12,7 @@ class PantallaDificultad extends StatelessWidget {
return SafeArea(
child: ListView.separated(
itemBuilder: (context, index) {
return DificultadWidget(dificultad: manager.get(index));
return DificultadWidget(indice: index,);
},
separatorBuilder: (context, index) => const SizedBox(height: 8),
itemCount: manager.length)
......
import 'package:flutter/material.dart';
import 'package:peponator/modelo/dificultad.dart';
import 'package:provider/provider.dart';
import 'package:peponator/modelo/modelo.dart';
import 'package:peponator/widgets/dificultad_dialog.dart';
// TODO: HACER QUE SEA MENOS FEO
class DificultadWidget extends StatelessWidget {
final Dificultad dificultad;
final int indice;
const DificultadWidget({super.key, required this.dificultad});
const DificultadWidget({super.key, required this.indice});
@override
Widget build(BuildContext context) {
return Row(
children: [
Expanded(
child: Text(dificultad.nombre)
)
],
ListaDificultad listaDificultad = Provider.of(context, listen: false);
Dificultad dificultad = listaDificultad.get(indice);
return GestureDetector(
onTap: () async {
Dificultad? cambiado = await
showDialog<Dificultad>(
context: context,
builder: (context) => DificultadDialog(dificultad: dificultad,)
);
if (cambiado != null && context.mounted) {
listaDificultad.update(indice, cambiado);
}
},
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Row(
children: [
const SizedBox(width: 8,),
Text(
dificultad.nombre,
style: Theme.of(context).textTheme.titleLarge,
),
],
),
Text("Intentos: ${dificultad.intentos}"),
Row(
children: [
Text("1 - ${dificultad.limiteSuperior}"),
const SizedBox(width: 8,),
],
),
],
),
);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment