Skip to content
This repository was archived by the owner on May 29, 2026. It is now read-only.

Commit bd3740f

Browse files
staticoclaude
andcommitted
Show 'Pwr' or 'Powered' for battery levels >100
Battery level >100 indicates the device is plugged in/powered. Updated display to show: - "Pwr" in the compact node list column - "Powered" in node details inspector - "Pwr" in telemetry packet summaries - "Powered" in packet inspector telemetry details 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 2dbe8c0 commit bd3740f

3 files changed

Lines changed: 22 additions & 6 deletions

File tree

src/ui/components/NodesPanel.tsx

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -240,12 +240,17 @@ function NodeInspector({ node, height }: { node?: NodeData; height: number }) {
240240

241241
// Battery/power
242242
if (node.batteryLevel !== undefined || node.voltage !== undefined) {
243+
const batteryDisplay = node.batteryLevel !== undefined && node.batteryLevel > 100
244+
? "Powered"
245+
: node.batteryLevel !== undefined && node.batteryLevel > 0
246+
? `${node.batteryLevel}%`
247+
: null;
243248
lines.push(
244249
<Box key="power">
245-
{node.batteryLevel !== undefined && node.batteryLevel > 0 && (
250+
{batteryDisplay && (
246251
<>
247252
<Text color={theme.fg.muted}>Battery: </Text>
248-
<Text color={getBatteryColor(node.batteryLevel)}>{node.batteryLevel}%</Text>
253+
<Text color={getBatteryColor(node.batteryLevel)}>{batteryDisplay}</Text>
249254
</>
250255
)}
251256
{node.voltage !== undefined && node.voltage > 0 && (
@@ -300,6 +305,9 @@ function NodeInspector({ node, height }: { node?: NodeData; height: number }) {
300305
}
301306

302307
function getBatteryDisplay(level?: number, voltage?: number): string {
308+
if (level !== undefined && level > 100) {
309+
return "Pwr"; // Powered/plugged in
310+
}
303311
if (level !== undefined && level > 0) {
304312
return `${level}%`;
305313
}
@@ -342,6 +350,9 @@ function getBatteryColor(level?: number, voltage?: number): string {
342350
if ((level === undefined || level === 0) && (voltage === undefined || voltage === 0)) {
343351
return theme.fg.muted;
344352
}
353+
if (level !== undefined && level > 100) {
354+
return theme.packet.direct; // Powered - show as healthy green
355+
}
345356
if (level !== undefined && level > 0) {
346357
if (level >= 50) return theme.packet.direct;
347358
if (level >= 20) return theme.packet.telemetry;

src/ui/components/PacketInspector.tsx

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -488,11 +488,16 @@ function renderPayloadDetails(packet: DecodedPacket, nodeStore: NodeStore, useFa
488488
<Text color={theme.packet.telemetry}>Device Metrics</Text>
489489
</Box>
490490
);
491+
const batteryDisplay = dm.batteryLevel != null && dm.batteryLevel > 100
492+
? "Powered"
493+
: dm.batteryLevel != null
494+
? `${dm.batteryLevel}%`
495+
: "?";
491496
lines.push(
492497
<Box key="telem-batt">
493498
<Text color={theme.fg.muted}>Battery: </Text>
494-
<Text color={dm.batteryLevel && dm.batteryLevel > 50 ? theme.packet.direct : theme.packet.telemetry}>
495-
{dm.batteryLevel ?? "?"}%
499+
<Text color={dm.batteryLevel && (dm.batteryLevel > 100 || dm.batteryLevel > 50) ? theme.packet.direct : theme.packet.telemetry}>
500+
{batteryDisplay}
496501
</Text>
497502
{dm.voltage != null && (
498503
<>

src/ui/components/PacketList.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -185,8 +185,8 @@ function renderPacketSummary(packet: DecodedPacket, nodeStore: NodeStore, useFah
185185
return (
186186
<>
187187
{dm.batteryLevel != null && dm.batteryLevel > 0 && (
188-
<Text color={dm.batteryLevel > 20 ? theme.data.battery : theme.data.batteryLow}>
189-
{" "}{dm.batteryLevel}%
188+
<Text color={dm.batteryLevel > 100 || dm.batteryLevel > 20 ? theme.data.battery : theme.data.batteryLow}>
189+
{" "}{dm.batteryLevel > 100 ? "Pwr" : `${dm.batteryLevel}%`}
190190
</Text>
191191
)}
192192
{dm.voltage != null && dm.voltage > 0 && (

0 commit comments

Comments
 (0)