From 00898d64beb65002561d6f4f9e901bcb12066df8 Mon Sep 17 00:00:00 2001 From: DaneEvans Date: Wed, 30 Jul 2025 21:50:16 +1000 Subject: [PATCH] fix/2542 pair up the power metric icons (#2572) --- .../com/geeksville/mesh/ui/node/NodeDetail.kt | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/geeksville/mesh/ui/node/NodeDetail.kt b/app/src/main/java/com/geeksville/mesh/ui/node/NodeDetail.kt index 2a9d7b146..f3c1e2697 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/node/NodeDetail.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/node/NodeDetail.kt @@ -993,6 +993,13 @@ private fun EnvironmentMetrics( } } +/** + * Displays environmental metrics for a node, including temperature, humidity, pressure, and other sensor data. + * + * WARNING: All metrics must be added in pairs (e.g., voltage and current for each channel) due to the display logic, + * which arranges metrics in columns of two. If an odd number of metrics is provided, the UI may not display as + * intended. + */ @Composable private fun PowerMetrics(node: Node) { val metrics = @@ -1019,8 +1026,12 @@ private fun PowerMetrics(node: Node) { horizontalArrangement = Arrangement.SpaceBetween, verticalArrangement = Arrangement.SpaceEvenly, ) { - metrics.forEach { metric -> - InfoCard(icon = metric.icon, text = stringResource(metric.label), value = metric.value) + metrics.chunked(2).forEach { rowMetrics -> + Column { + rowMetrics.forEach { metric -> + InfoCard(icon = metric.icon, text = stringResource(metric.label), value = metric.value) + } + } } } }