From 8ac490e759b06cefa1f3a428e06de78edf33a665 Mon Sep 17 00:00:00 2001 From: Jared Goodwin Date: Sun, 23 Feb 2020 14:22:16 -0800 Subject: [PATCH] Add theme option to UserOptions. --- .../Pages/Account/Manage/Options.cshtml | 11 +++++++ Server/Pages/Shared/_Layout.cshtml | 32 ++++++++++++++++--- Shared/Enums/Theme.cs | 13 ++++++++ Shared/Models/RemotelyUserOptions.cs | 6 +++- 4 files changed, 56 insertions(+), 6 deletions(-) create mode 100644 Shared/Enums/Theme.cs diff --git a/Server/Areas/Identity/Pages/Account/Manage/Options.cshtml b/Server/Areas/Identity/Pages/Account/Manage/Options.cshtml index a48d9d75..b28c4801 100644 --- a/Server/Areas/Identity/Pages/Account/Manage/Options.cshtml +++ b/Server/Areas/Identity/Pages/Account/Manage/Options.cshtml @@ -16,6 +16,16 @@ }
+ +
+ +
+ +
+ +
+ +

@@ -66,6 +76,7 @@
+
diff --git a/Server/Pages/Shared/_Layout.cshtml b/Server/Pages/Shared/_Layout.cshtml index 2f60d502..3399db5c 100644 --- a/Server/Pages/Shared/_Layout.cshtml +++ b/Server/Pages/Shared/_Layout.cshtml @@ -1,4 +1,5 @@ @inject Remotely.Server.Services.ApplicationConfig AppConfig +@inject UserManager UserManager @@ -14,17 +15,38 @@ - @if (AppConfig.Theme.ToLower() == "light") + @if (User.Identity.IsAuthenticated) { - - + var user = await UserManager.GetUserAsync(User); + switch (user.UserOptions.Theme) + { + case Remotely.Shared.Enums.Theme.Light: + + + break; + case Remotely.Shared.Enums.Theme.Dark: + + + break; + default: + break; + } } else { - - + if (AppConfig.Theme.ToLower() == "light") + { + + + } + else + { + + + } } + diff --git a/Shared/Enums/Theme.cs b/Shared/Enums/Theme.cs new file mode 100644 index 00000000..cd1d3377 --- /dev/null +++ b/Shared/Enums/Theme.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Runtime.Serialization; +using System.Text; + +namespace Remotely.Shared.Enums +{ + public enum Theme + { + Light, + Dark + } +} diff --git a/Shared/Models/RemotelyUserOptions.cs b/Shared/Models/RemotelyUserOptions.cs index 1c51f03a..e3766fd5 100644 --- a/Shared/Models/RemotelyUserOptions.cs +++ b/Shared/Models/RemotelyUserOptions.cs @@ -1,4 +1,5 @@ -using System; +using Remotely.Shared.Enums; +using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; @@ -25,5 +26,8 @@ namespace Remotely.Shared.Models [Display(Name = "Bash Shortcut")] [StringLength(10)] public string CommandModeShortcutBash { get; set; } = "/bash"; + + [Display(Name = "Theme")] + public Theme Theme { get; set; } } }