diff --git a/Totoro.Core/Services/StreamPageMapper.cs b/Totoro.Core/Services/StreamPageMapper.cs index db351f0a..e6ef946e 100644 --- a/Totoro.Core/Services/StreamPageMapper.cs +++ b/Totoro.Core/Services/StreamPageMapper.cs @@ -154,7 +154,15 @@ private long GetId(AnimeId animeId) _ => throw new NotSupportedException() }; - var json = await _httpClient.GetStringAsync($"https://raw.githubusercontent.com/MALSync/MAL-Sync-Backup/master/data/{listService}/anime/{id}.json"); + var url = $"https://raw.githubusercontent.com/MALSync/MAL-Sync-Backup/master/data/{listService}/anime/{id}.json"; + var result = await _httpClient.GetAsync(url); + + if(!result.IsSuccessStatusCode) + { + return null; + } + + var json = await result.Content.ReadAsStringAsync(); var jObject = JsonNode.Parse(json); var key = GetKey(provider); var pages = jObject["Pages"]; diff --git a/Totoro.Core/Totoro.Core.csproj b/Totoro.Core/Totoro.Core.csproj index 95b84f2d..e3cd397c 100644 --- a/Totoro.Core/Totoro.Core.csproj +++ b/Totoro.Core/Totoro.Core.csproj @@ -14,7 +14,7 @@ - + diff --git a/Totoro.Core/ViewModels/DiscoverViewModel.cs b/Totoro.Core/ViewModels/DiscoverViewModel.cs index efe88548..554ca40c 100644 --- a/Totoro.Core/ViewModels/DiscoverViewModel.cs +++ b/Totoro.Core/ViewModels/DiscoverViewModel.cs @@ -36,7 +36,7 @@ public DiscoverViewModel(IProviderFactory providerFacotory, .Subscribe() .DisposeWith(Garbage); - CardWidth = settings.DefaultProviderType == ProviderType.AnimePahe ? 480 : 190; // animepahe image is thumbnail + CardWidth = settings.DefaultProviderType is ProviderType.AnimePahe or ProviderType.Marin ? 480 : 190; // animepahe image is thumbnail DontUseImageEx = settings.DefaultProviderType == ProviderType.Yugen; // using imagex for yugen is crashing SelectEpisode = ReactiveCommand.CreateFromTask(OnEpisodeSelected); diff --git a/Totoro.Core/ViewModels/SettingsViewModel.cs b/Totoro.Core/ViewModels/SettingsViewModel.cs index 06fefd66..06882e44 100644 --- a/Totoro.Core/ViewModels/SettingsViewModel.cs +++ b/Totoro.Core/ViewModels/SettingsViewModel.cs @@ -94,7 +94,7 @@ public class SettingsViewModel : NavigatableViewModel public Version Version { get; } public Version ScrapperVersion { get; } public List Themes { get; } = Enum.GetValues().Cast().ToList(); - public List ProviderTypes { get; } = new List { ProviderType.AllAnime, ProviderType.AnimePahe, ProviderType.GogoAnime, ProviderType.Yugen, ProviderType.Tenshi }; + public List ProviderTypes { get; } = new List { ProviderType.AllAnime, ProviderType.AnimePahe, ProviderType.GogoAnime, ProviderType.Yugen, ProviderType.Marin }; public List LogLevels { get; } = new List { LogLevel.Debug, LogLevel.Information, LogLevel.Warning, LogLevel.Error, LogLevel.Critical }; public List ServiceTypes { get; } = new List { ListServiceType.MyAnimeList, ListServiceType.AniList }; public ICommand AuthenticateCommand { get; } diff --git a/Totoro.Core/ViewModels/WatchViewModel.cs b/Totoro.Core/ViewModels/WatchViewModel.cs index de251f3f..c8910356 100644 --- a/Totoro.Core/ViewModels/WatchViewModel.cs +++ b/Totoro.Core/ViewModels/WatchViewModel.cs @@ -439,6 +439,11 @@ private void OnSubmitTimeStamps() { var results = await Provider.Catalog.Search(title).ToListAsync(); + if(results.Count == 0) + { + return (null, null); + } + if (results.Count == 1) { return (results[0], null);