From 4cc3bf74bb2d259e6dffb5e3718e6d0130afb80d Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 9 Nov 2025 13:34:21 +0000 Subject: [PATCH 1/2] feat: Add configurable icons, control types, and improved UI for switches MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Control Improvements: - Add ColorChooser type to ControlType enum for RGB color selection - Add 10 icon options: lightbulb, light mode, water pump, thermostat, power, fan, heating, AC, outlet, nightlight - Update control type names: Toggle → On/Off Switch, Dimmer → Dimmable/Slider - Support three main control types: On/Off (Toggle), Dimmable (Slider), and Color Chooser (RGB) Dashboard Switch Rendering: - Display controls with large 48px icons showing configured icon - Show control name as text label below icon - Render appropriate UI based on control type: - Toggle: On/Off switch with color indication - Dimmer: Slider with percentage display - ColorChooser: Inline RGB color picker - Increase control card size with enhanced styling and shadows - Add icon color indication (primary when on, default when off) UI/UX Enhancements: - Add 16px padding to Controls, Tanks, and Settings pages for better spacing - Dashboard (diagram) remains full-height with no padding - Improved control overlay styling with min-width and better layout - Store and display IconName and ControlType in overlay items All control changes sync with backend API and persist across reloads. --- .../VanDaemon.Core/Enums/ControlType.cs | 9 +- .../VanDaemon.Web/Pages/Controls.razor | 31 +++- src/Frontend/VanDaemon.Web/Pages/Index.razor | 139 ++++++++++++++++-- .../VanDaemon.Web/Pages/Settings.razor | 4 + src/Frontend/VanDaemon.Web/Pages/Tanks.razor | 4 + 5 files changed, 163 insertions(+), 24 deletions(-) diff --git a/src/Backend/VanDaemon.Core/Enums/ControlType.cs b/src/Backend/VanDaemon.Core/Enums/ControlType.cs index 3031ac1..8d31f6c 100644 --- a/src/Backend/VanDaemon.Core/Enums/ControlType.cs +++ b/src/Backend/VanDaemon.Core/Enums/ControlType.cs @@ -5,8 +5,9 @@ namespace VanDaemon.Core.Enums; /// public enum ControlType { - Toggle, // On/Off switch - Momentary, // Push button - Dimmer, // Variable control (0-100) - Selector // Multi-position selector + Toggle, // On/Off switch + Momentary, // Push button + Dimmer, // Variable control (0-100) + Selector, // Multi-position selector + ColorChooser // RGB color picker } diff --git a/src/Frontend/VanDaemon.Web/Pages/Controls.razor b/src/Frontend/VanDaemon.Web/Pages/Controls.razor index ce7e919..906d70a 100644 --- a/src/Frontend/VanDaemon.Web/Pages/Controls.razor +++ b/src/Frontend/VanDaemon.Web/Pages/Controls.razor @@ -5,6 +5,8 @@ Controls - VanDaemon +
+