diff --git a/CHANGELOG.md b/CHANGELOG.md index 719fe8c9d..c317fbc17 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,14 +4,68 @@ ### **New Features** +- Added the Recently Added Newsletter! You are welcome. [tidusjar] + +- Added a new scrollbar to Ombi. [tidusjar] + +- Added the ability to automatically generate the API Key on startup if it does not exist #2070. [tidusjar] + +- Updated npm dependancies. [Jamie] + +- Update README.md. [Jamie] + +- Update README.md. [Jamie] + +- Update ISSUE_TEMPLATE.md. [Jamie] + +- Update appveyor.yml. [Jamie] + +- Added recently added stuff. [Jamie] + +- Added the recently added engine with some basic methods. [Jamie] + - Added the ability to refresh out backend metadata (#2078) [Jamie] ### **Fixes** -- Fixed #2074 and #2079. [Jamie] +- Specific favicons for different platforms. [louis-lau] + +- MovieDbId was switched to string fron number so accomodated for change. [Anojh] + +- Removing duplicate functions. [Anojh Thayaparan] + +- Conflict resolving and adopting Jamie's new method. [Anojh] + +- Wrote new calls to just get poster and bg. [Anojh] + +- Fix for issue #1907, which is to add content poster and bg to issue details page. [Anojh] + +- Dynamic Background Animation. [Anojh] + +- Improved the message for #2037. [tidusjar] + +- Improved the way we use the notification variables, we have now split out the Username and Alias (Requested User is depricated but not removed) [tidusjar] + +- Removed redundant timers. [Anojh] + +- More optimizations by reducing requests. [Anojh] + +- Improved version. [Anojh] + +- Dynamic Background Animation. [Anojh] + +- Fixed #2055 and #1903. [Jamie] - Small changes to the auto updater, let's see how this works. [Jamie] +- Fixed build. [Jamie] + +- Fixed the update check for the master build. [Jamie] + +- Fixed build. [Jamie] + +- Fixed #2074 and #2079. [Jamie] + ## v3.0.3030 (2018-03-14) @@ -19,6 +73,10 @@ - Updated the .Net core dependancies #2072. [Jamie] +### **Fixes** + +- Delete Ombi.testdb. [Jamie] + ## v3.0.3020 (2018-03-13) diff --git a/src/Ombi.Core/Engine/Interfaces/ITvRequestEngine.cs b/src/Ombi.Core/Engine/Interfaces/ITvRequestEngine.cs index 30f415aad..28eb066d4 100644 --- a/src/Ombi.Core/Engine/Interfaces/ITvRequestEngine.cs +++ b/src/Ombi.Core/Engine/Interfaces/ITvRequestEngine.cs @@ -1,5 +1,6 @@ using System.Collections.Generic; using System.Threading.Tasks; +using Ombi.Core.Models.Requests; using Ombi.Core.Models.Search; using Ombi.Store.Entities.Requests; @@ -9,7 +10,7 @@ namespace Ombi.Core.Engine.Interfaces { Task RemoveTvRequest(int requestId); - Task RequestTvShow(SearchTvShowViewModel tv); + Task RequestTvShow(TvRequestViewModel tv); Task DenyChildRequest(int requestId); Task> SearchTvRequest(string search); Task>>> SearchTvRequestTree(string search); diff --git a/src/Ombi.Core/Engine/TvRequestEngine.cs b/src/Ombi.Core/Engine/TvRequestEngine.cs index f8fc33e9b..aaa2d353d 100644 --- a/src/Ombi.Core/Engine/TvRequestEngine.cs +++ b/src/Ombi.Core/Engine/TvRequestEngine.cs @@ -43,13 +43,13 @@ namespace Ombi.Core.Engine private IAuditRepository Audit { get; } private readonly IRepository _requestLog; - public async Task RequestTvShow(SearchTvShowViewModel tv) + public async Task RequestTvShow(TvRequestViewModel tv) { var user = await GetUser(); var tvBuilder = new TvShowRequestBuilder(TvApi); (await tvBuilder - .GetShowInfo(tv.Id)) + .GetShowInfo(tv.TvDbId)) .CreateTvList(tv) .CreateChild(tv, user.Id); @@ -78,9 +78,9 @@ namespace Ombi.Core.Engine } } - await Audit.Record(AuditType.Added, AuditArea.TvRequest, $"Added Request {tv.Title}", Username); + await Audit.Record(AuditType.Added, AuditArea.TvRequest, $"Added Request {tvBuilder.ChildRequest.Title}", Username); - var existingRequest = await TvRepository.Get().FirstOrDefaultAsync(x => x.TvDbId == tv.Id); + var existingRequest = await TvRepository.Get().FirstOrDefaultAsync(x => x.TvDbId == tv.TvDbId); if (existingRequest != null) { // Remove requests we already have, we just want new ones @@ -127,7 +127,7 @@ namespace Ombi.Core.Engine var newRequest = tvBuilder.CreateNewRequest(tv); return await AddRequest(newRequest.NewRequest); } - + public async Task> GetRequests(int count, int position) { var shouldHide = await HideFromOtherUsers(); diff --git a/src/Ombi.Core/Helpers/TvShowRequestBuilder.cs b/src/Ombi.Core/Helpers/TvShowRequestBuilder.cs index 0d5d46c54..1f92536b8 100644 --- a/src/Ombi.Core/Helpers/TvShowRequestBuilder.cs +++ b/src/Ombi.Core/Helpers/TvShowRequestBuilder.cs @@ -4,6 +4,7 @@ using System.Linq; using System.Threading.Tasks; using Ombi.Api.TvMaze; using Ombi.Api.TvMaze.Models; +using Ombi.Core.Models.Requests; using Ombi.Core.Models.Search; using Ombi.Helpers; using Ombi.Store.Entities; @@ -23,7 +24,7 @@ namespace Ombi.Core.Helpers private ITvMazeApi TvApi { get; } public ChildRequests ChildRequest { get; set; } - public List TvRequests { get; protected set; } + public List TvRequests { get; protected set; } public string PosterPath { get; protected set; } public DateTime FirstAir { get; protected set; } public TvRequests NewRequest { get; protected set; } @@ -33,7 +34,7 @@ namespace Ombi.Core.Helpers { ShowInfo = await TvApi.ShowLookupByTheTvDbId(id); - DateTime.TryParse(ShowInfo.premiered, out DateTime dt); + DateTime.TryParse(ShowInfo.premiered, out var dt); FirstAir = dt; @@ -43,37 +44,29 @@ namespace Ombi.Core.Helpers return this; } - public TvShowRequestBuilder CreateChild(SearchTvShowViewModel model, string userId) + public TvShowRequestBuilder CreateChild(TvRequestViewModel model, string userId) { ChildRequest = new ChildRequests { - Id = model.Id, + Id = model.TvDbId, RequestType = RequestType.TvShow, RequestedDate = DateTime.UtcNow, Approved = false, RequestedUserId = userId, SeasonRequests = new List(), - Title = model.Title, + Title = ShowInfo.name, SeriesType = ShowInfo.type.Equals("Animation", StringComparison.CurrentCultureIgnoreCase) ? SeriesType.Anime : SeriesType.Standard }; return this; } - public TvShowRequestBuilder CreateTvList(SearchTvShowViewModel tv) + public TvShowRequestBuilder CreateTvList(TvRequestViewModel tv) { - TvRequests = new List(); + TvRequests = new List(); // Only have the TV requests we actually requested and not everything - foreach (var season in tv.SeasonRequests) + foreach (var season in tv.Seasons) { - for (int i = season.Episodes.Count - 1; i >= 0; i--) - { - if (!season.Episodes[i].Requested) - { - season.Episodes.RemoveAt(i); // Remove the episode since it's not requested - } - } - if (season.Episodes.Any()) { TvRequests.Add(season); @@ -81,11 +74,10 @@ namespace Ombi.Core.Helpers } return this; - } - public async Task BuildEpisodes(SearchTvShowViewModel tv) + public async Task BuildEpisodes(TvRequestViewModel tv) { if (tv.RequestAll) { @@ -173,26 +165,68 @@ namespace Ombi.Core.Helpers else { // It's a custom request - ChildRequest.SeasonRequests = TvRequests; + var seasonRequests = new List(); + var episodes = await TvApi.EpisodeLookup(ShowInfo.id); + foreach (var ep in episodes) + { + var existingSeasonRequest = seasonRequests.FirstOrDefault(x => x.SeasonNumber == ep.season); + if (existingSeasonRequest != null) + { + var requestedSeason = tv.Seasons.FirstOrDefault(x => x.SeasonNumber == ep.season); + var requestedEpisode = requestedSeason?.Episodes?.Any(x => x.EpisodeNumber == ep.number) ?? false; + if (requestedSeason != null && requestedEpisode) + { + // We already have this, let's just add the episodes to it + existingSeasonRequest.Episodes.Add(new EpisodeRequests + { + EpisodeNumber = ep.number, + AirDate = FormatDate(ep.airdate), + Title = ep.name, + Url = ep.url, + }); + } + } + else + { + var newRequest = new SeasonRequests {SeasonNumber = ep.season}; + var requestedSeason = tv.Seasons.FirstOrDefault(x => x.SeasonNumber == ep.season); + var requestedEpisode = requestedSeason?.Episodes?.Any(x => x.EpisodeNumber == ep.number) ?? false; + if (requestedSeason != null && requestedEpisode) + { + newRequest.Episodes.Add(new EpisodeRequests + { + EpisodeNumber = ep.number, + AirDate = FormatDate(ep.airdate), + Title = ep.name, + Url = ep.url, + }); + seasonRequests.Add(newRequest); + } + } + } + + foreach (var s in seasonRequests) + { + ChildRequest.SeasonRequests.Add(s); + } } return this; } - public TvShowRequestBuilder CreateNewRequest(SearchTvShowViewModel tv) + public TvShowRequestBuilder CreateNewRequest(TvRequestViewModel tv) { NewRequest = new TvRequests { - Id = tv.Id, Overview = ShowInfo.summary.RemoveHtml(), PosterPath = PosterPath, Title = ShowInfo.name, ReleaseDate = FirstAir, Status = ShowInfo.status, ImdbId = ShowInfo.externals?.imdb ?? string.Empty, - TvDbId = tv.Id, + TvDbId = tv.TvDbId, ChildRequests = new List(), - TotalSeasons = tv.SeasonRequests.Count() + TotalSeasons = tv.Seasons.Count() }; NewRequest.ChildRequests.Add(ChildRequest); diff --git a/src/Ombi.Core/Models/Requests/TvRequestViewModel.cs b/src/Ombi.Core/Models/Requests/TvRequestViewModel.cs new file mode 100644 index 000000000..78f9edd6d --- /dev/null +++ b/src/Ombi.Core/Models/Requests/TvRequestViewModel.cs @@ -0,0 +1,25 @@ +using System.Collections.Generic; + +namespace Ombi.Core.Models.Requests +{ + public class TvRequestViewModel + { + public bool RequestAll { get; set; } + public bool LatestSeason { get; set; } + public bool FirstSeason { get; set; } + public int TvDbId { get; set; } + public List Seasons { get; set; } = new List(); + } + + public class SeasonsViewModel + { + public int SeasonNumber { get; set; } + public List Episodes { get; set; } = new List(); + } + + public class EpisodesViewModel + { + public int EpisodeNumber { get; set; } + } + +} \ No newline at end of file diff --git a/src/Ombi.Schedule/Jobs/Ombi/NewsletterJob.cs b/src/Ombi.Schedule/Jobs/Ombi/NewsletterJob.cs index 4448e922c..42a66dfbe 100644 --- a/src/Ombi.Schedule/Jobs/Ombi/NewsletterJob.cs +++ b/src/Ombi.Schedule/Jobs/Ombi/NewsletterJob.cs @@ -336,8 +336,16 @@ namespace Ombi.Schedule.Jobs.Ombi TableData(sb); Href(sb, $"https://www.imdb.com/title/{info.ImdbId}/"); - var releaseDate = DateTime.Parse(info.ReleaseDate); - Header(sb, 3, $"{info.Title} ({releaseDate.Year})"); + var releaseDate = string.Empty; + try + { + releaseDate = $"({DateTime.Parse(info.ReleaseDate).Year})"; + } + catch (Exception) + { + // Swallow, couldn't parse the date + } + Header(sb, 3, $"{info.Title} {releaseDate}"); EndTag(sb, "a"); if (info.Genres.Any()) diff --git a/src/Ombi.Store/Entities/Requests/SeasonRequests.cs b/src/Ombi.Store/Entities/Requests/SeasonRequests.cs index 496f1988d..521cf5b94 100644 --- a/src/Ombi.Store/Entities/Requests/SeasonRequests.cs +++ b/src/Ombi.Store/Entities/Requests/SeasonRequests.cs @@ -10,7 +10,7 @@ namespace Ombi.Store.Repository.Requests public class SeasonRequests : Entity { public int SeasonNumber { get; set; } - public List Episodes { get; set; } + public List Episodes { get; set; } = new List(); public int ChildRequestId { get; set; } [ForeignKey(nameof(ChildRequestId))] diff --git a/src/Ombi/ClientApp/app/interfaces/ISearchTvResult.ts b/src/Ombi/ClientApp/app/interfaces/ISearchTvResult.ts index 5ed9567f5..f0afa76b2 100644 --- a/src/Ombi/ClientApp/app/interfaces/ISearchTvResult.ts +++ b/src/Ombi/ClientApp/app/interfaces/ISearchTvResult.ts @@ -30,3 +30,20 @@ export interface ISearchTvResult { firstSeason: boolean; latestSeason: boolean; } + +export interface ITvRequestViewModel { + requestAll: boolean; + firstSeason: boolean; + latestSeason: boolean; + tvDbId: number; + seasons: ISeasonsViewModel[]; +} + +export interface ISeasonsViewModel { + seasonNumber: number; + episodes: IEpisodesViewModel[]; +} + +export interface IEpisodesViewModel { + episodeNumber: number; +} diff --git a/src/Ombi/ClientApp/app/issues/issueDetails.component.html b/src/Ombi/ClientApp/app/issues/issueDetails.component.html index 1c1e0f5c4..bad4885e7 100644 --- a/src/Ombi/ClientApp/app/issues/issueDetails.component.html +++ b/src/Ombi/ClientApp/app/issues/issueDetails.component.html @@ -1,13 +1,16 @@
+
+

{{issue.title}}

- {{IssueStatus[issue.status]}} - {{issue.issueCategory.value}} - -

{{'Issues.ReportedBy' | translate}}: {{issue.userReported.alias}}

-

{{'Issues.ReportedBy' | translate}}: {{issue.userReported.userName}}

+ poster + {{IssueStatus[issue.status]}} + {{issue.issueCategory.value}} + +

{{'Issues.ReportedBy' | translate}}: {{issue.userReported.alias}}

+

{{'Issues.ReportedBy' | translate}}: {{issue.userReported.userName}}

{{'Issues.Subject' | translate}}: {{issue.subject}}

-
+
@@ -26,7 +29,8 @@

- {{'Issues.Comments' | translate}}

+ {{'Issues.Comments' | translate}} +
@@ -51,8 +55,7 @@
-
+
diff --git a/src/Ombi/ClientApp/app/settings/notifications/newsletter.component.html b/src/Ombi/ClientApp/app/settings/notifications/newsletter.component.html index 9560cd333..19ab565b6 100644 --- a/src/Ombi/ClientApp/app/settings/notifications/newsletter.component.html +++ b/src/Ombi/ClientApp/app/settings/notifications/newsletter.component.html @@ -1,6 +1,6 @@  - +
Newsletter diff --git a/src/Ombi/ClientApp/app/shared/issues-report.component.ts b/src/Ombi/ClientApp/app/shared/issues-report.component.ts index e0fbd0a05..de171d5c2 100644 --- a/src/Ombi/ClientApp/app/shared/issues-report.component.ts +++ b/src/Ombi/ClientApp/app/shared/issues-report.component.ts @@ -15,6 +15,8 @@ export class IssuesReportComponent { @Input() public issueCategory: IIssueCategory; @Input() public movie: boolean; @Input() public providerId: string; + @Input() public background: string; + @Input() public posterPath: string; @Output() public visibleChange = new EventEmitter(); diff --git a/src/Ombi/Controllers/ImagesController.cs b/src/Ombi/Controllers/ImagesController.cs index 9e85f0d56..692966258 100644 --- a/src/Ombi/Controllers/ImagesController.cs +++ b/src/Ombi/Controllers/ImagesController.cs @@ -1,4 +1,4 @@ -using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc; using Ombi.Api.FanartTv; using Ombi.Store.Repository; using System; @@ -31,7 +31,7 @@ namespace Ombi.Controllers private IApplicationConfigRepository Config { get; } private LandingPageBackground Options { get; } private readonly ICacheService _cache; - + [HttpGet("tv/{tvdbid}")] public async Task GetTvBanner(int tvdbid) { @@ -71,7 +71,7 @@ namespace Ombi.Controllers if (images.movieposter?.Any() ?? false) { - var enImage = images.movieposter.Where(x => x.lang == "en").OrderByDescending(x => x.likes).Select(x => x.url).FirstOrDefault(); + var enImage = images.movieposter.Where(x => x.lang == "en").OrderByDescending(x => x.likes).Select(x => x.url).FirstOrDefault(); if (enImage == null) { return images.movieposter.OrderByDescending(x => x.likes).Select(x => x.url).FirstOrDefault(); @@ -117,6 +117,56 @@ namespace Ombi.Controllers return string.Empty; } + [HttpGet("background/movie/{movieDbId}")] + public async Task GetMovieBackground(string movieDbId) + { + var key = await _cache.GetOrAdd(CacheKeys.FanartTv, async () => await Config.Get(Store.Entities.ConfigurationTypes.FanartTv), DateTime.Now.AddDays(1)); + + var images = await FanartTvApi.GetMovieImages(movieDbId, key.Value); + + if (images == null) + { + return string.Empty; + } + + if (images.moviebackground?.Any() ?? false) + { + var enImage = images.moviebackground.Where(x => x.lang == "en").OrderByDescending(x => x.likes).Select(x => x.url).FirstOrDefault(); + if (enImage == null) + { + return images.moviebackground.OrderByDescending(x => x.likes).Select(x => x.url).FirstOrDefault(); + } + return enImage; + } + + return string.Empty; + } + + [HttpGet("background/tv/{tvdbid}")] + public async Task GetTvBackground(int tvdbid) + { + var key = await _cache.GetOrAdd(CacheKeys.FanartTv, async () => await Config.Get(Store.Entities.ConfigurationTypes.FanartTv), DateTime.Now.AddDays(1)); + + var images = await FanartTvApi.GetTvImages(tvdbid, key.Value); + + if (images == null) + { + return string.Empty; + } + + if (images.showbackground?.Any() ?? false) + { + var enImage = images.showbackground.Where(x => x.lang == "en").OrderByDescending(x => x.likes).Select(x => x.url).FirstOrDefault(); + if (enImage == null) + { + return images.showbackground.OrderByDescending(x => x.likes).Select(x => x.url).FirstOrDefault(); + } + return enImage; + } + + return string.Empty; + } + [HttpGet("background")] public async Task GetBackgroundImage() { @@ -133,7 +183,7 @@ namespace Ombi.Controllers { var item = rand.Next(moviesArray.Length); var result = await FanartTvApi.GetMovieImages(moviesArray[item].ToString(), key.Value); - + while (!result.moviebackground.Any()) { result = await FanartTvApi.GetMovieImages(moviesArray[item].ToString(), key.Value); @@ -141,7 +191,7 @@ namespace Ombi.Controllers movieUrl = result.moviebackground[0].url; } - if(tvArray.Any()) + if (tvArray.Any()) { var item = rand.Next(tvArray.Length); var result = await FanartTvApi.GetTvImages(tvArray[item], key.Value); @@ -157,8 +207,8 @@ namespace Ombi.Controllers if (!string.IsNullOrEmpty(movieUrl) && !string.IsNullOrEmpty(tvUrl)) { var result = rand.Next(2); - if (result == 0) return new { url = movieUrl }; - if (result == 1) return new { url = tvUrl }; + if (result == 0) return new { url = movieUrl }; + if (result == 1) return new { url = tvUrl }; } if (!string.IsNullOrEmpty(movieUrl)) diff --git a/src/Ombi/Controllers/RequestController.cs b/src/Ombi/Controllers/RequestController.cs index d5c173d35..59bd75606 100644 --- a/src/Ombi/Controllers/RequestController.cs +++ b/src/Ombi/Controllers/RequestController.cs @@ -174,7 +174,7 @@ namespace Ombi.Controllers /// The tv. /// [HttpPost("tv")] - public async Task RequestTv([FromBody] SearchTvShowViewModel tv) + public async Task RequestTv([FromBody] TvRequestViewModel tv) { return await TvRequestEngine.RequestTvShow(tv); } diff --git a/src/Ombi/Views/Shared/_Layout.cshtml b/src/Ombi/Views/Shared/_Layout.cshtml index 8d015de08..104481024 100644 --- a/src/Ombi/Views/Shared/_Layout.cshtml +++ b/src/Ombi/Views/Shared/_Layout.cshtml @@ -64,26 +64,16 @@ O:::::::OOO:::::::Om::::m m::::m m::::mb:::::bbbbbb::::::bi::::::i @appName - - - - - - - - - - - - - - - - - - - + + + + + + + + + diff --git a/src/Ombi/wwwroot/images/favicon/android-chrome-192x192.png b/src/Ombi/wwwroot/images/favicon/android-chrome-192x192.png new file mode 100644 index 000000000..5fbcf9cf1 Binary files /dev/null and b/src/Ombi/wwwroot/images/favicon/android-chrome-192x192.png differ diff --git a/src/Ombi/wwwroot/images/favicon/android-chrome-512x512.png b/src/Ombi/wwwroot/images/favicon/android-chrome-512x512.png new file mode 100644 index 000000000..8094bfdda Binary files /dev/null and b/src/Ombi/wwwroot/images/favicon/android-chrome-512x512.png differ diff --git a/src/Ombi/wwwroot/images/favicon/android-icon-144x144.png b/src/Ombi/wwwroot/images/favicon/android-icon-144x144.png deleted file mode 100644 index cfe4f838f..000000000 Binary files a/src/Ombi/wwwroot/images/favicon/android-icon-144x144.png and /dev/null differ diff --git a/src/Ombi/wwwroot/images/favicon/android-icon-192x192.png b/src/Ombi/wwwroot/images/favicon/android-icon-192x192.png deleted file mode 100644 index 66834b472..000000000 Binary files a/src/Ombi/wwwroot/images/favicon/android-icon-192x192.png and /dev/null differ diff --git a/src/Ombi/wwwroot/images/favicon/android-icon-36x36.png b/src/Ombi/wwwroot/images/favicon/android-icon-36x36.png deleted file mode 100644 index 215339d90..000000000 Binary files a/src/Ombi/wwwroot/images/favicon/android-icon-36x36.png and /dev/null differ diff --git a/src/Ombi/wwwroot/images/favicon/android-icon-48x48.png b/src/Ombi/wwwroot/images/favicon/android-icon-48x48.png deleted file mode 100644 index 9d425f81f..000000000 Binary files a/src/Ombi/wwwroot/images/favicon/android-icon-48x48.png and /dev/null differ diff --git a/src/Ombi/wwwroot/images/favicon/android-icon-72x72.png b/src/Ombi/wwwroot/images/favicon/android-icon-72x72.png deleted file mode 100644 index 3876d051a..000000000 Binary files a/src/Ombi/wwwroot/images/favicon/android-icon-72x72.png and /dev/null differ diff --git a/src/Ombi/wwwroot/images/favicon/android-icon-96x96.png b/src/Ombi/wwwroot/images/favicon/android-icon-96x96.png deleted file mode 100644 index c8e26d722..000000000 Binary files a/src/Ombi/wwwroot/images/favicon/android-icon-96x96.png and /dev/null differ diff --git a/src/Ombi/wwwroot/images/favicon/apple-icon-114x114.png b/src/Ombi/wwwroot/images/favicon/apple-icon-114x114.png deleted file mode 100644 index a8fa6f81f..000000000 Binary files a/src/Ombi/wwwroot/images/favicon/apple-icon-114x114.png and /dev/null differ diff --git a/src/Ombi/wwwroot/images/favicon/apple-icon-120x120.png b/src/Ombi/wwwroot/images/favicon/apple-icon-120x120.png deleted file mode 100644 index 5ea108611..000000000 Binary files a/src/Ombi/wwwroot/images/favicon/apple-icon-120x120.png and /dev/null differ diff --git a/src/Ombi/wwwroot/images/favicon/apple-icon-144x144.png b/src/Ombi/wwwroot/images/favicon/apple-icon-144x144.png deleted file mode 100644 index cfe4f838f..000000000 Binary files a/src/Ombi/wwwroot/images/favicon/apple-icon-144x144.png and /dev/null differ diff --git a/src/Ombi/wwwroot/images/favicon/apple-icon-152x152.png b/src/Ombi/wwwroot/images/favicon/apple-icon-152x152.png deleted file mode 100644 index df70d578e..000000000 Binary files a/src/Ombi/wwwroot/images/favicon/apple-icon-152x152.png and /dev/null differ diff --git a/src/Ombi/wwwroot/images/favicon/apple-icon-180x180.png b/src/Ombi/wwwroot/images/favicon/apple-icon-180x180.png deleted file mode 100644 index a917d113c..000000000 Binary files a/src/Ombi/wwwroot/images/favicon/apple-icon-180x180.png and /dev/null differ diff --git a/src/Ombi/wwwroot/images/favicon/apple-icon-57x57.png b/src/Ombi/wwwroot/images/favicon/apple-icon-57x57.png deleted file mode 100644 index cb852ffd9..000000000 Binary files a/src/Ombi/wwwroot/images/favicon/apple-icon-57x57.png and /dev/null differ diff --git a/src/Ombi/wwwroot/images/favicon/apple-icon-60x60.png b/src/Ombi/wwwroot/images/favicon/apple-icon-60x60.png deleted file mode 100644 index 7aeeb1243..000000000 Binary files a/src/Ombi/wwwroot/images/favicon/apple-icon-60x60.png and /dev/null differ diff --git a/src/Ombi/wwwroot/images/favicon/apple-icon-72x72.png b/src/Ombi/wwwroot/images/favicon/apple-icon-72x72.png deleted file mode 100644 index 3876d051a..000000000 Binary files a/src/Ombi/wwwroot/images/favicon/apple-icon-72x72.png and /dev/null differ diff --git a/src/Ombi/wwwroot/images/favicon/apple-icon-76x76.png b/src/Ombi/wwwroot/images/favicon/apple-icon-76x76.png deleted file mode 100644 index 32826bd09..000000000 Binary files a/src/Ombi/wwwroot/images/favicon/apple-icon-76x76.png and /dev/null differ diff --git a/src/Ombi/wwwroot/images/favicon/apple-icon-precomposed.png b/src/Ombi/wwwroot/images/favicon/apple-icon-precomposed.png deleted file mode 100644 index 7fb80052d..000000000 Binary files a/src/Ombi/wwwroot/images/favicon/apple-icon-precomposed.png and /dev/null differ diff --git a/src/Ombi/wwwroot/images/favicon/apple-icon.png b/src/Ombi/wwwroot/images/favicon/apple-icon.png deleted file mode 100644 index 7fb80052d..000000000 Binary files a/src/Ombi/wwwroot/images/favicon/apple-icon.png and /dev/null differ diff --git a/src/Ombi/wwwroot/images/favicon/apple-touch-icon.png b/src/Ombi/wwwroot/images/favicon/apple-touch-icon.png new file mode 100644 index 000000000..1e6943041 Binary files /dev/null and b/src/Ombi/wwwroot/images/favicon/apple-touch-icon.png differ diff --git a/src/Ombi/wwwroot/images/favicon/browserconfig.xml b/src/Ombi/wwwroot/images/favicon/browserconfig.xml index c55414822..bc29df9e6 100644 --- a/src/Ombi/wwwroot/images/favicon/browserconfig.xml +++ b/src/Ombi/wwwroot/images/favicon/browserconfig.xml @@ -1,2 +1,9 @@ -#ffffff \ No newline at end of file + + + + + #df691a + + + diff --git a/src/Ombi/wwwroot/images/favicon/favicon-16x16.png b/src/Ombi/wwwroot/images/favicon/favicon-16x16.png index 7dfea78a5..e8d2f0201 100644 Binary files a/src/Ombi/wwwroot/images/favicon/favicon-16x16.png and b/src/Ombi/wwwroot/images/favicon/favicon-16x16.png differ diff --git a/src/Ombi/wwwroot/images/favicon/favicon-32x32.png b/src/Ombi/wwwroot/images/favicon/favicon-32x32.png index c3853b662..93c92c69a 100644 Binary files a/src/Ombi/wwwroot/images/favicon/favicon-32x32.png and b/src/Ombi/wwwroot/images/favicon/favicon-32x32.png differ diff --git a/src/Ombi/wwwroot/images/favicon/favicon-96x96.png b/src/Ombi/wwwroot/images/favicon/favicon-96x96.png deleted file mode 100644 index c8e26d722..000000000 Binary files a/src/Ombi/wwwroot/images/favicon/favicon-96x96.png and /dev/null differ diff --git a/src/Ombi/wwwroot/images/favicon/favicon.ico b/src/Ombi/wwwroot/images/favicon/favicon.ico index 62b406080..106450c2e 100644 Binary files a/src/Ombi/wwwroot/images/favicon/favicon.ico and b/src/Ombi/wwwroot/images/favicon/favicon.ico differ diff --git a/src/Ombi/wwwroot/images/favicon/manifest.json b/src/Ombi/wwwroot/images/favicon/manifest.json deleted file mode 100644 index 013d4a6a5..000000000 --- a/src/Ombi/wwwroot/images/favicon/manifest.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "name": "App", - "icons": [ - { - "src": "\/android-icon-36x36.png", - "sizes": "36x36", - "type": "image\/png", - "density": "0.75" - }, - { - "src": "\/android-icon-48x48.png", - "sizes": "48x48", - "type": "image\/png", - "density": "1.0" - }, - { - "src": "\/android-icon-72x72.png", - "sizes": "72x72", - "type": "image\/png", - "density": "1.5" - }, - { - "src": "\/android-icon-96x96.png", - "sizes": "96x96", - "type": "image\/png", - "density": "2.0" - }, - { - "src": "\/android-icon-144x144.png", - "sizes": "144x144", - "type": "image\/png", - "density": "3.0" - }, - { - "src": "\/android-icon-192x192.png", - "sizes": "192x192", - "type": "image\/png", - "density": "4.0" - } - ] -} \ No newline at end of file diff --git a/src/Ombi/wwwroot/images/favicon/ms-icon-144x144.png b/src/Ombi/wwwroot/images/favicon/ms-icon-144x144.png deleted file mode 100644 index cfe4f838f..000000000 Binary files a/src/Ombi/wwwroot/images/favicon/ms-icon-144x144.png and /dev/null differ diff --git a/src/Ombi/wwwroot/images/favicon/ms-icon-150x150.png b/src/Ombi/wwwroot/images/favicon/ms-icon-150x150.png deleted file mode 100644 index 7664f1729..000000000 Binary files a/src/Ombi/wwwroot/images/favicon/ms-icon-150x150.png and /dev/null differ diff --git a/src/Ombi/wwwroot/images/favicon/ms-icon-310x310.png b/src/Ombi/wwwroot/images/favicon/ms-icon-310x310.png deleted file mode 100644 index fc6ffd626..000000000 Binary files a/src/Ombi/wwwroot/images/favicon/ms-icon-310x310.png and /dev/null differ diff --git a/src/Ombi/wwwroot/images/favicon/ms-icon-70x70.png b/src/Ombi/wwwroot/images/favicon/ms-icon-70x70.png deleted file mode 100644 index 78e6bb882..000000000 Binary files a/src/Ombi/wwwroot/images/favicon/ms-icon-70x70.png and /dev/null differ diff --git a/src/Ombi/wwwroot/images/favicon/mstile-150x150.png b/src/Ombi/wwwroot/images/favicon/mstile-150x150.png new file mode 100644 index 000000000..d4f00545e Binary files /dev/null and b/src/Ombi/wwwroot/images/favicon/mstile-150x150.png differ diff --git a/src/Ombi/wwwroot/images/favicon/safari-pinned-tab.svg b/src/Ombi/wwwroot/images/favicon/safari-pinned-tab.svg new file mode 100644 index 000000000..450b8febf --- /dev/null +++ b/src/Ombi/wwwroot/images/favicon/safari-pinned-tab.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/Ombi/wwwroot/images/favicon/site.webmanifest b/src/Ombi/wwwroot/images/favicon/site.webmanifest new file mode 100644 index 000000000..88b8f52fb --- /dev/null +++ b/src/Ombi/wwwroot/images/favicon/site.webmanifest @@ -0,0 +1,19 @@ +{ + "name": "Ombi", + "short_name": "Ombi", + "icons": [ + { + "src": "/images/favicon/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/images/favicon/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "theme_color": "#df691a", + "background_color": "#df691a", + "display": "standalone" +}