using Billing.UI; using Xamarin.Essentials; using Xamarin.Forms; namespace Billing.Themes { public class Light : BaseTheme { private static Light _instance; public static Light Instance => _instance ??= new Light(); private Color primaryColor; protected override Color PrimaryMauiColor => primaryColor; protected override Color SecondaryMauiColor => Color.White; public Light() { var color = Preferences.Get(Definition.PrimaryColorKey, "#183153"); primaryColor = Color.FromHex(color); InitColors(); InitResources(); } public void RefreshColor(Color primary) { primaryColor = primary; Clear(); InitColors(); InitResources(); } private void InitColors() { Add(WindowBackgroundColor, Color.White); Add(OptionTintColor, Color.White); Add(PromptBackgroundColor, Color.FromRgb(0xe0, 0xe0, 0xe0)); Add(TabBarBackgroundColor, Color.White); Add(TabBarUnselectedColor, Color.FromRgb(0x82, 0x82, 0x82)); Add(OutRangeDayColor, Color.LightGray); Add(TextColor, Color.FromRgb(0x33, 0x33, 0x33)); Add(SecondaryTextColor, Color.DimGray); Add(RedColor, Color.FromRgb(211, 64, 85)); Add(GreenColor, Color.FromRgb(64, 211, 85)); Add(new Style(typeof(TabBar)) { Setters = { new Setter { Property = Shell.TabBarBackgroundColorProperty, Value = Color.White }, new Setter { Property = Shell.TabBarTitleColorProperty, Value = primaryColor }, new Setter { Property = Shell.TabBarUnselectedColorProperty, Value = Color.FromRgb(0x82, 0x82, 0x82) } } }); Add(new Style(typeof(TableView)) { Setters = { new Setter { Property = VisualElement.BackgroundColorProperty, Value = Color.FromRgb(242, 241, 245) } } }); } } }