build method
Describes the part of the user interface represented by this component.
Implementation
@override
Component build(BuildContext context) {
final String icon;
final Color color;
switch (step.state) {
case LinkStepState.pending:
icon = '○';
color = Colors.gray;
case LinkStepState.running:
icon = '◉';
color = Colors.cyan;
case LinkStepState.done:
icon = '✔';
color = Colors.green;
case LinkStepState.failed:
icon = '✘';
color = Colors.red;
case LinkStepState.skipped:
icon = '–';
color = Colors.gray;
}
return Padding(
padding: const EdgeInsets.only(left: 2),
child: Column(
children: [
Row(
children: [
Text(
icon,
style: TextStyle(color: color, fontWeight: FontWeight.bold),
),
const Text(' '),
Expanded(
child: Text(
step.label,
style: TextStyle(
color: step.state == LinkStepState.running
? Colors.cyan
: null,
fontWeight: step.state == LinkStepState.running
? FontWeight.bold
: null,
),
),
),
],
),
if (step.detail != null)
Padding(
padding: const EdgeInsets.only(left: 4),
child: Text(
step.detail!,
style: const TextStyle(
color: Colors.gray,
fontWeight: FontWeight.dim,
),
),
),
],
),
);
}