- Consolidates `MetricViewModel` back to a single state flow
- Introduces a `MutableStateFlow` for state updates, allowing more independent control
- Moves `Telemetry`, `MeshPacket`, and config updates into separate coroutines
* Refactor: Improve IAQ display and add ranges
Adds IAQ ranges to the `Iaq` enum and updates the display to show the ranges alongside the
descriptions, improving clarity for users.
This change enhances the indoor air quality information by providing context for the different IAQ levels.
* Refactor: Improve IAQ color scheme and add range to description
This commit refactors the Indoor Air Quality (IAQ) component by:
- Updating the color scheme to better reflect air quality levels, using a more standardized and recognizable color palette.
- Adding the IAQ range to the description, providing more context and clarity to the user.
- Adding a preview for the IAQ scale.
- Minor code cleanup and improvements.
* feat: Add ability to display environment metrics in Fahrenheit
The temperature values in the environment metrics charts and cards are now displayed in Fahrenheit or Celsius based on the user's preference. Celsius is still used as the base unit for calculations and storage.
* Refactor: Rename environmentDisplayTempInFahrenheit to environmentDisplayFahrenheit
Renamed the variable environmentDisplayTempInFahrenheit to environmentDisplayFahrenheit for better clarity and consistency.
* Refactor: Remove unused ENVIRONMENT_METRICS_COLORS
Removed the unused `ENVIRONMENT_METRICS_COLORS` variable from the `EnvironmentMetrics` component.
* Update: Add support for plotting iaq
Added green to the list of colors used for plotting environment metrics to support the newly added iaq readings.
Adds Indoor Air Quality (IAQ) to the environment metrics chart and card.
The IAQ is displayed as a green line on the chart and as a dot with a numerical value on the card.
The IAQ scale is available as a legend in the IAQ component.
* Removed constants from CommonCharts only used in specific charts.
* Altered CommonCharts.ChartOverlay to take a list of colors for the lines. Adjusted the device metrics line colors for channel utilization.
* Started an info dialog in the device metric chart to help users better understand Meshtastic.
* Separated the device and environment metrics into their own files.
* Place a limit to the amount of MeshPackets we retrieve from the logs table.
* Making detekt happy with the naming.