diff --git a/Jellyfin.Plugin.SkinManager/Api/cssService.cs b/Jellyfin.Plugin.SkinManager/Api/cssService.cs deleted file mode 100644 index f7a1a50..0000000 --- a/Jellyfin.Plugin.SkinManager/Api/cssService.cs +++ /dev/null @@ -1,41 +0,0 @@ -using System; -using MediaBrowser.Controller.Library; -using MediaBrowser.Controller.Net; -using MediaBrowser.Model.Services; -using Microsoft.Extensions.Logging; -using MediaBrowser.Model.Branding; -using MediaBrowser.Controller.Configuration; -using MediaBrowser.Api; - -namespace Jellyfin.Plugin.SkinManager.Api -{ - [Route("/Css/Set", "POST", Summary = "Downloads theme songs")] - [Authenticated] - public class DownloadRequest : IReturnVoid - { - public string css {get;set;} - } - - public class cssService : IService - { - private readonly CssManager _themeSongsManager; - private readonly ILogger _logger; - - public cssService( - ILogger logger, IServerConfigurationManager serverConfigurationManager, IHttpResultFactory httpResultFactory) - { - _themeSongsManager = new CssManager(logger, serverConfigurationManager, httpResultFactory); - _logger = logger; - } - - public void Post(DownloadRequest request) - { - _logger.LogInformation(request.css + "Will be setted"); - _themeSongsManager.setCss(); - _logger.LogInformation("Completed"); - } - - - - } -} \ No newline at end of file diff --git a/Jellyfin.Plugin.SkinManager/Configuration/configurationpage.html b/Jellyfin.Plugin.SkinManager/Configuration/configurationpage.html index a583cb4..a0bd14e 100644 --- a/Jellyfin.Plugin.SkinManager/Configuration/configurationpage.html +++ b/Jellyfin.Plugin.SkinManager/Configuration/configurationpage.html @@ -3,7 +3,7 @@ - Css + Skin Manager @@ -13,7 +13,7 @@
-

Theme Songs

+

Skin Manager

Help
@@ -62,33 +62,27 @@ loadSkins(); function setSkin() { - var request = { - url: ApiClient.getUrl('/Css/Set'), - type: 'POST' - }; - ApiClient.getPluginConfiguration(plugin.guid).then(function (config) { - config.selectedCss = $('#cssOptions').val(); + ApiClient.getServerConfiguration().then(function (config) { + + ApiClient.updateServerConfiguration(config).then(function() { + ApiClient.getNamedConfiguration('branding').then(function(brandingConfig) { + brandingConfig.CustomCss = $('#cssOptions').val(); - ApiClient.updatePluginConfiguration(plugin.guid, config).then(function (result) { - Dashboard.processPluginConfigurationUpdateResult(result); + - Dashboard.alert("Changing skin..."); - ApiClient.fetch(request).then(function () { + ApiClient.updateNamedConfiguration('branding', brandingConfig).then(function () { + Dashboard.processServerConfigurationUpdateResult(); window.location.reload(true); - }).catch(function () { - Dashboard.alert({ - message: "Unexpected error occurred!" - }); + }); - }); + }); }); - + - - - } + }); + } diff --git a/Jellyfin.Plugin.SkinManager/CssManager.cs b/Jellyfin.Plugin.SkinManager/CssManager.cs deleted file mode 100644 index 17e8d96..0000000 --- a/Jellyfin.Plugin.SkinManager/CssManager.cs +++ /dev/null @@ -1,70 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Net; -using System.Threading; -using System.Threading.Tasks; -using MediaBrowser.Controller.Plugins; -using Microsoft.Extensions.Logging; -using MediaBrowser.Model.Branding; -using MediaBrowser.Api; -using MediaBrowser.Controller.Configuration; -using MediaBrowser.Controller.Net; - -namespace Jellyfin.Plugin.SkinManager -{ - public class CssManager : IServerEntryPoint - { - - private readonly Timer _timer; - private readonly BrandingOptions _branding; - private readonly ILogger _logger; - private readonly IServerConfigurationManager _serverConfigurationManager; - private readonly IHttpResultFactory _httpResultFactory; - private readonly BrandingOptions brandingOptions; - - public CssManager(ILogger logger, IServerConfigurationManager serverConfigurationManager, IHttpResultFactory httpResultFactory) - { - _logger = logger; - _timer = new Timer(_ => OnTimerElapsed(), null, Timeout.Infinite, Timeout.Infinite); - _serverConfigurationManager = serverConfigurationManager; - _httpResultFactory = httpResultFactory; - BrandingService brandingService = new BrandingService(_logger, _serverConfigurationManager, _httpResultFactory); - - brandingOptions = (BrandingOptions) brandingService.Get(new GetBrandingOptions()); - } - - public void setCss() - { - string css = Plugin.Instance.Configuration.selectedCss; - brandingOptions.CustomCss = css; - } - - public void removeCss() - { - brandingOptions.CustomCss = ""; - } - - - - - - - - private void OnTimerElapsed() - { - // Stop the timer until next update - _timer.Change(Timeout.Infinite, Timeout.Infinite); - } - - public Task RunAsync() - { - return Task.CompletedTask; - } - - public void Dispose() - { - } - } -}