1
0
mirror of https://github.com/bitwarden/mobile synced 2025-12-29 22:53:34 +00:00
Files
mobile/src/App/Utilities/ThemeManager.cs
Kyle Spearrin 2b670a5ae1 ios themeing
2019-06-24 14:29:23 -04:00

64 lines
1.9 KiB
C#

using Bit.App.Services;
using Bit.App.Styles;
using Bit.Core;
using Xamarin.Forms;
namespace Bit.App.Utilities
{
public static class ThemeManager
{
public static void SetThemeStyle(string name)
{
// Reset styles
Application.Current.Resources.Clear();
Application.Current.Resources.MergedDictionaries.Clear();
// Variables
Application.Current.Resources.MergedDictionaries.Add(new Variables());
// Themed variables
if(name == "dark")
{
Application.Current.Resources.MergedDictionaries.Add(new Dark());
}
else if(name == "black")
{
Application.Current.Resources.MergedDictionaries.Add(new Black());
}
else if(name == "nord")
{
Application.Current.Resources.MergedDictionaries.Add(new Nord());
}
else
{
Application.Current.Resources.MergedDictionaries.Add(new Light());
}
// Base styles
Application.Current.Resources.MergedDictionaries.Add(new Base());
// Platform styles
if(Device.RuntimePlatform == Device.Android)
{
Application.Current.Resources.MergedDictionaries.Add(new Android());
}
else if(Device.RuntimePlatform == Device.iOS)
{
Application.Current.Resources.MergedDictionaries.Add(new iOS());
}
}
public static void SetTheme(bool android)
{
SetThemeStyle(GetTheme(android));
}
public static string GetTheme(bool android)
{
return Xamarin.Essentials.Preferences.Get(
string.Format(PreferencesStorageService.KeyFormat, Constants.ThemeKey), default(string),
!android ? "group.com.8bit.bitwarden" : default(string));
}
}
}