mirror of
https://github.com/Ombi-app/Ombi.git
synced 2025-07-12 08:16:05 -07:00
Implimented a theme changer, waiting for the Plex theme
This commit is contained in:
parent
7c41f448a8
commit
c41944c933
7 changed files with 7078 additions and 7008 deletions
|
@ -46,7 +46,7 @@ namespace PlexRequests.Core
|
|||
public const string CouchPotatoQualityProfiles = "CouchPotatoQualityProfiles";
|
||||
public const string CouchPotatoQueued = "CouchPotatoQueued";
|
||||
|
||||
public const string GetBaseUrl = "GetBaseUrl";
|
||||
public const string GetPlexRequestSettings = "GetPlexRequestSettings";
|
||||
|
||||
public const string LastestProductVersion = "LatestProductVersion";
|
||||
}
|
||||
|
|
|
@ -43,10 +43,13 @@ namespace PlexRequests.Core.SettingModels
|
|||
public bool UsersCanViewOnlyOwnRequests { get; set; }
|
||||
public int WeeklyRequestLimit { get; set; }
|
||||
public string NoApprovalUsers { get; set; }
|
||||
public string ApiKey {
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The CSS name of the theme we want
|
||||
/// </summary>
|
||||
public string ThemeName { get; set; }
|
||||
|
||||
public string ApiKey { get; set; }
|
||||
|
||||
[JsonIgnore]
|
||||
public List<string> ApprovalWhiteList
|
||||
|
|
|
@ -52,8 +52,13 @@ namespace PlexRequests.UI.Helpers
|
|||
var assetLocation = GetBaseUrl();
|
||||
|
||||
var content = GetContentUrl(assetLocation);
|
||||
var settings = GetSettings();
|
||||
if (string.IsNullOrEmpty(settings.ThemeName))
|
||||
{
|
||||
settings.ThemeName = Themes.OriginalTheme;
|
||||
}
|
||||
|
||||
sb.AppendLine($"<link rel=\"stylesheet\" href=\"{content}/Content/bootstrap.css\" type=\"text/css\"/>");
|
||||
sb.AppendLine($"<link rel=\"stylesheet\" href=\"{content}/Content/Themes/{settings.ThemeName}\" type=\"text/css\"/>");
|
||||
sb.AppendLine($"<link rel=\"stylesheet\" href=\"{content}/Content/custom.min.css\" type=\"text/css\" />");
|
||||
sb.AppendLine($"<link rel=\"stylesheet\" href=\"{content}/Content/font-awesome.css\" type=\"text/css\"/>");
|
||||
sb.AppendLine($"<link rel=\"stylesheet\" href=\"{content}/Content/pace.min.css\" type=\"text/css\"/>");
|
||||
|
@ -156,11 +161,15 @@ namespace PlexRequests.UI.Helpers
|
|||
|
||||
private static string GetBaseUrl()
|
||||
{
|
||||
var returnValue = Cache.GetOrSet(CacheKeys.GetBaseUrl, () =>
|
||||
return GetSettings().BaseUrl;
|
||||
}
|
||||
|
||||
private static PlexRequestSettings GetSettings()
|
||||
{
|
||||
var returnValue = Cache.GetOrSet(CacheKeys.GetPlexRequestSettings, () =>
|
||||
{
|
||||
var settings = Locator.Resolve<ISettingsService<PlexRequestSettings>>().GetSettings();
|
||||
var assetLocation = settings.BaseUrl;
|
||||
return assetLocation;
|
||||
return settings;
|
||||
});
|
||||
return returnValue;
|
||||
}
|
||||
|
|
34
PlexRequests.UI/Helpers/Themes.cs
Normal file
34
PlexRequests.UI/Helpers/Themes.cs
Normal file
|
@ -0,0 +1,34 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: Themes.cs
|
||||
// Created By: Jamie Rees
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining
|
||||
// a copy of this software and associated documentation files (the
|
||||
// "Software"), to deal in the Software without restriction, including
|
||||
// without limitation the rights to use, copy, modify, merge, publish,
|
||||
// distribute, sublicense, and/or sell copies of the Software, and to
|
||||
// permit persons to whom the Software is furnished to do so, subject to
|
||||
// the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be
|
||||
// included in all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
// ************************************************************************/
|
||||
#endregion
|
||||
namespace PlexRequests.UI.Helpers
|
||||
{
|
||||
public static class Themes
|
||||
{
|
||||
public const string OriginalTheme = "OriginalBootstrap.css";
|
||||
public const string PlexTheme = "PlexBootstrap.css";
|
||||
}
|
||||
}
|
|
@ -161,6 +161,7 @@
|
|||
<Compile Include="Helpers\HeadphonesSender.cs" />
|
||||
<Compile Include="Helpers\ServiceLocator.cs" />
|
||||
<Compile Include="Helpers\StringHelper.cs" />
|
||||
<Compile Include="Helpers\Themes.cs" />
|
||||
<Compile Include="Helpers\TvSender.cs" />
|
||||
<Compile Include="Helpers\ValidationHelper.cs" />
|
||||
<Compile Include="Jobs\CustomJobFactory.cs" />
|
||||
|
@ -210,7 +211,7 @@
|
|||
<Content Include="Content\bootstrap-notify.min.js">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\bootstrap.css">
|
||||
<Content Include="Content\Themes\OriginalBootstrap.css">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Compile Include="Models\JsonResponseModel.cs" />
|
||||
|
|
|
@ -18,7 +18,18 @@
|
|||
{
|
||||
formAction = "/" + baseUrl.ToHtmlString() + formAction;
|
||||
}
|
||||
var plexTheme = string.Empty;
|
||||
var originalTheme = string.Empty;
|
||||
|
||||
if (!string.IsNullOrEmpty(Model.ThemeName))
|
||||
{
|
||||
plexTheme = Model.ThemeName.Equals(Themes.PlexTheme) ? "selected=\"selected\"" : string.Empty;
|
||||
originalTheme = Model.ThemeName.Equals(Themes.OriginalTheme) ? "selected=\"selected\"" : string.Empty;
|
||||
}
|
||||
else
|
||||
{
|
||||
plexTheme = "selected=\"selected\"";
|
||||
}
|
||||
}
|
||||
<div class="col-sm-8 col-sm-push-1">
|
||||
<form class="form-horizontal" method="POST" id="mainForm">
|
||||
|
@ -53,6 +64,16 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="select" class="control-label">Theme</label>
|
||||
<div id="themes">
|
||||
<select class="form-control form-control-custom" id="select">
|
||||
<option @plexTheme class="form-control form-control-custom" value="@Themes.PlexTheme">Plex Dark</option>
|
||||
<option @originalTheme class="form-control form-control-custom" value="@Themes.OriginalTheme">Original Blue</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="checkbox">
|
||||
|
||||
|
@ -190,9 +211,11 @@ $(function() {
|
|||
$('#save').click(function (e) {
|
||||
e.preventDefault();
|
||||
|
||||
var theme = $("#themes option:selected").val();
|
||||
var $form = $("#mainForm");
|
||||
|
||||
var data = $form.serialize();
|
||||
data = data + "&themeName=" + theme;
|
||||
|
||||
$.ajax({
|
||||
type: $form.prop("method"),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue