* Add confirmation dialog for changing to router role
Introduced a confirmation dialog that will be shown when changing the device role to "router".
The confirmation dialog includes links to the "Device Role Documentation" and "Choosing The Right Device Role" blog post.
The user must check a checkbox to confirm.
* Update router role handling
Modified the handling of the router role in `DeviceConfigItemList.kt` to avoid returning prematurely from the `onItemSelected` lambda. This ensures that the role is updated properly when a user selects the "ROUTER" role.
* removes konami code check, remove testing code
* Refactor router role confirmation text
- Moves the router role confirmation text to strings.xml.
- Updates to use `AnnotatedString.fromHtml` instead of `buildAnnotatedString` and `withLink`.
- Changes from hard-coded strings to string resources.
Modified NodeDetail.kt to replace direct comparisons with 0f or 0 for sensor values with corresponding has*() functions.
This change improves code readability by clearly indicating the presence or absence of sensor data.
* Remove unused SoftwareUpdateService code and commented out service reg in manifest
* Remove unused methods that had unnecessary version checks
* Regenerate baseline to remove detekt issues that are no longer present
* feat: Introduce Version Catalog for Dependency Management
This commit introduces a version catalog via `libs.versions.toml` to centralize and manage project dependencies. It replaces the previous hardcoded dependency versions in `app/build.gradle` with references to the version catalog. This change enhances maintainability and organization by centralizing dependency management.
- Added `gradle/libs.versions.toml` to define dependencies and their versions.
- Updated `app/build.gradle` to utilize dependencies from the version catalog.
* chore: migrate plugins to version catalog
* chore: sort lines in `libs.versions.toml`
-Sorts `versions`, `dependencies`, and `plugins` references alphabetically.
* feat: pin ZXing Core dependency
* Suppressed warning about updating zxing-core to avoid confusion.
* Added a note to avoid updating zxing-core.
* refactor: Enforce consistent `implementation()` calls in `build.gradle`
- Ensures all library dependencies are called with `implementation(libs.xxx)` instead of `implementation libs.xxx` in `build.gradle`.
* feat: use version catalog bundles
- Updated dependencies in the app build.gradle to use bundles where possible.
* fix: fix ui test dependency declarations
* chore: comments for clarity
* fix: remove material3 from this PR
Fixes#1561
* Add large font preview
* Adjust default min size such that the filter input will accomodate larger fonts. Also, align the dropdown icon and use body1 typography for input text
* Add license and newline to fix detekt issues
* Changed the humidity color on the graph to the same blue used for current in the power graph.
* Refactor: Centralized the blue used in both the Env and Pow metrics in CommonCharts.kt.
---------
Co-authored-by: James Rich <2199651+jamesarich@users.noreply.github.com>
* Add dependency to KotlinX immutable collections
* Build a Compose-stable UI state vs using a database model. Move appropriate mapping logic for converting database model -> UI state into the view model. Introduce animations to new log placement and automated scroll.
* Center the top card row vertically
* Move log message generation into separate method
---------
Co-authored-by: James Rich <2199651+jamesarich@users.noreply.github.com>
* Implement initial support for adding and removing nodes from favorites
* Make favorite nodes' names show up bold in the node list
* Forgot to add this here when I was fixing the previous merge conflicts. Whoops!
* Make detekt happy
---------
Co-authored-by: James Rich <2199651+jamesarich@users.noreply.github.com>
* Refactor: We can draw the horizontal lines for the graphs independent of min and max entries.
* Added navigation to the PowerMetrics log with a skeleton screen.
* Drew channel 1 voltage.
* Refactor: Assigned colors for the data within the enum instead of a list-ordinal combo.
* Plotted Ch1 current line.
* Refactor: Did not need the parameters being used to get the desired ui in the TimeLabels composable.
* Added a row to help distinguish between units.
* Refactor: MetricsTimeSelector.kt to SlidingSelector.kt; the new version allows for generic options.
* Added a sliding selector to choose between power channels and changed the legend data to instead display current and voltage.
* We now plot the line for which the user has selected a power channel option.
* Don't need the current line to be dotted anymore.
* Don't think we need to display an info dialog for voltage and current.
* Wrote card to display the power channel data entries.
* detekt
* Refactor: current color change to accommodate the themes better
---------
Co-authored-by: James Rich <2199651+jamesarich@users.noreply.github.com>
* Filter out emojis from text when finding initials
* Confirm non-English non-emoji unicde isn't filtered
* Remove unused example unit test
---------
Co-authored-by: James Rich <2199651+jamesarich@users.noreply.github.com>