+ {
+ new ColorScheme { Name = "color_scheme_blue", IsDefault = true, Hex = "#054B8C", Hex2 = "#03335E", TextHex = "#2FA5ED" },
+ new ColorScheme { Name = "color_scheme_green", Hex = "#1c8c05ff" , Hex2 = "#155e03ff", TextHex = "#b4ed2fff" },
+ new ColorScheme { Name = "color_scheme_red", Hex = "#8c0505ff", Hex2 = "#5e0303ff", TextHex = "#ed2f2fff" },
+ new ColorScheme { Name = "color_scheme_purple", Hex = "#5b058cff", Hex2 = "#3a035eff", TextHex = "#a12fedff" }
+ // Add more schemes as needed
+ };
+
+ public static ColorScheme GetSchemeByName(string name)
+ {
+ return AvailableSchemes.FirstOrDefault(s => s.Name == name) ?? AvailableSchemes.First(s => s.IsDefault);
+ }
+ }
+
+}
+
+
diff --git a/roles/lib/files/FWO.Config.Api/Data/ConfigData.cs b/roles/lib/files/FWO.Config.Api/Data/ConfigData.cs
index b8778f7f5..d2a4aad86 100644
--- a/roles/lib/files/FWO.Config.Api/Data/ConfigData.cs
+++ b/roles/lib/files/FWO.Config.Api/Data/ConfigData.cs
@@ -451,6 +451,9 @@ public class ConfigData : ICloneable
[JsonProperty("debugConfig"), JsonPropertyName("debugConfig")]
public string DebugConfig { get; set; } = "";
+ [JsonProperty("colorScheme"), JsonPropertyName("colorScheme"), UserConfigData]
+ public string ColorScheme { get; set; } = "color_scheme_blue";
+
[JsonProperty("autoCalculateInternetZone"), JsonPropertyName("autoCalculateInternetZone")]
public bool AutoCalculateInternetZone { get; set; } = true;
diff --git a/roles/ui/files/FWO.UI/Pages/Settings/SettingsDefaults.razor b/roles/ui/files/FWO.UI/Pages/Settings/SettingsDefaults.razor
index b211725e3..d123fc84c 100644
--- a/roles/ui/files/FWO.UI/Pages/Settings/SettingsDefaults.razor
+++ b/roles/ui/files/FWO.UI/Pages/Settings/SettingsDefaults.razor
@@ -77,6 +77,16 @@
+