build method
- @override
- BuildContext context,
- Form item
override
Implementation
@override
Widget build(BuildContext context, form_api.Form item) {
return Consumer<QuizService>(
builder: (context, service, child) {
var results = service.getGradeFor(item);
return ListCell(
onTap: () => FormRoutes.form
.push(context: context, queryParams: {"id": item.id}),
minHeight: 0.0,
semanticLabel: "FormItem, ${item.name}",
title: Text(
item.name ?? '',
style: const TextStyle(fontWeight: FontWeight.bold, fontSize: 20),
),
subtitle: Text(item.description ?? ''),
trailing: FutureBuilder<double?>(
builder: (context, snapshot) {
if (snapshot.hasData) {
final grade = snapshot.data!;
return CircularPercentIndicator(
radius: 24,
lineWidth: 3,
percent: grade,
center: Text(
'${(grade * 100).truncate()}%',
style: Theme.of(context).textTheme.labelMedium,
),
progressColor: Colors.green,
);
}
return const SizedBox.shrink();
},
future: results,
));
}
);
}