diff --git a/app/lib/screens/farm_details.dart b/app/lib/screens/farm_details.dart index 2bfdcacb..daa06ed8 100644 --- a/app/lib/screens/farm_details.dart +++ b/app/lib/screens/farm_details.dart @@ -251,6 +251,16 @@ class _FarmDetailsState extends State { @override Widget build(BuildContext context) { + final sortedNodes = List.from(widget.farm.nodes) + ..sort((a, b) { + if (a.status == NodeStatus.Up && b.status != NodeStatus.Up) { + return -1; + } else if (a.status != NodeStatus.Up && b.status == NodeStatus.Up) { + return 1; + } else { + return 0; + } + }); return Scaffold( appBar: AppBar( title: Text(widget.farm.name), @@ -526,9 +536,9 @@ class _FarmDetailsState extends State { ListView.builder( shrinkWrap: true, physics: const NeverScrollableScrollPhysics(), - itemCount: widget.farm.nodes.length, + itemCount: sortedNodes.length, itemBuilder: (context, index) { - final node = widget.farm.nodes[index]; + final node = sortedNodes[index]; return Card( margin: const EdgeInsets.symmetric( vertical: 4.0, horizontal: 0.0),