Skip to content

feat(ui): Redesign NodeItem for improved clarity and density#4475

Merged
jamesarich merged 3 commits into
mainfrom
feat/node-card-labels
Feb 6, 2026
Merged

feat(ui): Redesign NodeItem for improved clarity and density#4475
jamesarich merged 3 commits into
mainfrom
feat/node-card-labels

Conversation

@jamesarich

Copy link
Copy Markdown
Collaborator

This pull request focuses on improving the UI consistency and readability by updating string resources to use shorter labels, refining icon and text styling in information components, and making minor adjustments to layout and sizing. The most important changes are grouped below by theme.

UI Text and String Resource Updates:

  • Shortened various string resources for labels such as channel, channel_utilization, air_utilization, temperature, humidity, soil_temperature, soil_moisture, and baro_pressure to concise forms (e.g., "Ch", "ChUtil", "Temp", "Hum", "Baro") in strings.xml for more compact UI display. [1] [2] [3]

IconInfo Component Enhancements:

  • Updated IconInfo to support an optional label parameter, improved text styling for label and value, reduced icon size to 14dp, and adjusted color opacity for better visual hierarchy. [1] [2]
  • Changed previews and usages of IconInfo to include the new label parameter and improved layout. [1] [2] [3] [4] [5] [6]

Battery Info Component Improvements:

  • Refined MaterialBatteryInfo styling: reduced icon size, adjusted spacing, improved text color and font weight for battery percentage and voltage, and fixed label typo ("PWD" to "PWR"). [1] [2] [3] [4]

Signal Indicator Component Updates:

  • Standardized icon sizes for signal indicators, added optional modifier parameters to Snr and Rssi, and improved text styling for signal quality display. [1] [2] [3] [4] [5]

Layout and Sizing Adjustments:

  • Reduced minimum width and height for NodeChip to allow for more compact node display.

These changes collectively enhance the clarity and consistency of the UI, making information easier to read and the interface more visually appealing.

This commit redesigns the `NodeItem` composable for a more compact and organized presentation of node information.

Key changes:
- Restructured `NodeItem` into a clearer layout with distinct header, metrics, and footer sections.
- Metrics are now organized into logical rows and a responsive `FlowRow` for environmental sensor data, adapting to available space.
- Introduced labels for all `IconInfo` components to clarify the meaning of each metric (e.g., Temp, Hum, Sats).
- Refined the visual styling of `IconInfo`, `MaterialBatteryInfo`, and `SignalInfo` for a cleaner and more consistent look.
- Updated `SignalInfo` to provide a more detailed and compact summary including SNR, RSSI, and signal quality text.
- Shortened several string resources for a more condensed UI.
- Added a fallback to "unknown" in `formatAgo` for invalid `lastHeard` timestamps.

Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
The `Chart` icon in the `TelemetricActionsSection` has been replaced with the more visually appropriate `LineAxis` icon from the Material library. This provides a clearer representation for the "logs" action.

Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
@github-actions github-actions Bot added the enhancement New feature or request label Feb 6, 2026
@jamesarich jamesarich enabled auto-merge February 6, 2026 04:50
@jamesarich jamesarich added this pull request to the merge queue Feb 6, 2026
@codecov

codecov Bot commented Feb 6, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 0% with 4 lines in your changes missing coverage. Please review.
✅ Project coverage is 8.56%. Comparing base (9655176) to head (a73f6b3).
⚠️ Report is 1 commits behind head on main.
✅ All tests successful. No failed tests found.

Files with missing lines Patch % Lines
...lin/org/meshtastic/core/ui/component/SignalInfo.kt 0.00% 1 Missing ⚠️
...in/kotlin/org/meshtastic/core/ui/icon/Telemetry.kt 0.00% 1 Missing ⚠️
...in/kotlin/org/meshtastic/core/ui/util/FormatAgo.kt 0.00% 1 Missing ⚠️
.../org/meshtastic/feature/node/component/NodeItem.kt 0.00% 1 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff            @@
##            main   #4475      +/-   ##
========================================
- Coverage   8.56%   8.56%   -0.01%     
========================================
  Files        427     427              
  Lines      14324   14326       +2     
  Branches    2382    2383       +1     
========================================
  Hits        1227    1227              
- Misses     12875   12877       +2     
  Partials     222     222              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Merged via the queue into main with commit 10df4d4 Feb 6, 2026
9 checks passed
@jamesarich jamesarich deleted the feat/node-card-labels branch February 6, 2026 05:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant