using System; using System.Collections.Generic; using System.Globalization; using Jellyfin.Plugin.Seasonals.Configuration; using MediaBrowser.Common.Configuration; using MediaBrowser.Common.Plugins; using MediaBrowser.Model.Plugins; using MediaBrowser.Model.Serialization; using Microsoft.Extensions.Logging; namespace Jellyfin.Plugin.Seasonals; /// /// The main plugin. /// public class Plugin : BasePlugin, IHasWebPages { private readonly ScriptInjector _scriptInjector; /// /// Initializes a new instance of the class. /// /// Instance of the interface. /// Instance of the interface. /// Instance of the interface. public Plugin(IApplicationPaths applicationPaths, IXmlSerializer xmlSerializer, ILoggerFactory loggerFactory) : base(applicationPaths, xmlSerializer) { Instance = this; _scriptInjector = new ScriptInjector(applicationPaths, loggerFactory.CreateLogger()); _scriptInjector.Inject(); } /// public override string Name => "Seasonals"; /// public override Guid Id => Guid.Parse("ef1e863f-cbb0-4e47-9f23-f0cbb1826ad4"); /// /// Gets the current plugin instance. /// public static Plugin? Instance { get; private set; } /// public IEnumerable GetPages() { return [ new PluginPageInfo { Name = Name, EmbeddedResourcePath = string.Format(CultureInfo.InvariantCulture, "{0}.Configuration.configPage.html", GetType().Namespace) } ]; } }