diff --git a/src/Snap.Hutao/Snap.Hutao/UI/Xaml/Control/Image/CachedImage.cs b/src/Snap.Hutao/Snap.Hutao/UI/Xaml/Control/Image/CachedImage.cs index a72a148f..233b612f 100644 --- a/src/Snap.Hutao/Snap.Hutao/UI/Xaml/Control/Image/CachedImage.cs +++ b/src/Snap.Hutao/Snap.Hutao/UI/Xaml/Control/Image/CachedImage.cs @@ -175,12 +175,11 @@ internal sealed partial class CachedImage : Microsoft.UI.Xaml.Controls.Control, SourceName = Path.GetFileName(imageUri.ToString()); IImageCache imageCache = this.ServiceProvider().GetRequiredService(); - string file = default; try { HutaoException.ThrowIf(string.IsNullOrEmpty(imageUri.Host), SH.ControlImageCachedImageInvalidResourceUri); ElementTheme theme = ShowAsMonoChrome ? ThemeHelper.ApplicationToElement(ThemeHelper.ElementToApplication(ActualTheme)) : ElementTheme.Default; - file = await imageCache.GetFileFromCacheAsync(imageUri, theme).ConfigureAwait(true); // BitmapImage need to be created by main thread. + string file = await imageCache.GetFileFromCacheAsync(imageUri, theme).ConfigureAwait(true); // BitmapImage need to be created by main thread. CachedName = Path.GetFileName(file); token.ThrowIfCancellationRequested(); // check token state to determine whether the operation should be canceled. return file.ToUri(); @@ -193,7 +192,6 @@ internal sealed partial class CachedImage : Microsoft.UI.Xaml.Controls.Control, } catch (Exception ex) { - Debug.WriteLine(file); Debug.WriteLine(ex); return default; } diff --git a/src/Snap.Hutao/Snap.Hutao/UI/Xaml/View/Page/WikiMonsterPage.xaml b/src/Snap.Hutao/Snap.Hutao/UI/Xaml/View/Page/WikiMonsterPage.xaml index 6eecc75f..9b3fa772 100644 --- a/src/Snap.Hutao/Snap.Hutao/UI/Xaml/View/Page/WikiMonsterPage.xaml +++ b/src/Snap.Hutao/Snap.Hutao/UI/Xaml/View/Page/WikiMonsterPage.xaml @@ -48,6 +48,8 @@ 16 + 0 + 0 diff --git a/src/Snap.Hutao/Snap.Hutao/ViewModel/DailyNote/DailyNoteViewModelSlim.cs b/src/Snap.Hutao/Snap.Hutao/ViewModel/DailyNote/DailyNoteViewModelSlim.cs index a643d0c9..8b574f36 100644 --- a/src/Snap.Hutao/Snap.Hutao/ViewModel/DailyNote/DailyNoteViewModelSlim.cs +++ b/src/Snap.Hutao/Snap.Hutao/ViewModel/DailyNote/DailyNoteViewModelSlim.cs @@ -1,11 +1,13 @@ // Copyright (c) DGP Studio. All rights reserved. // Licensed under the MIT license. +using CommunityToolkit.Mvvm.Messaging; using Snap.Hutao.Core.ExceptionService; using Snap.Hutao.Model.Entity; using Snap.Hutao.Service.DailyNote; using Snap.Hutao.Service.Metadata; using Snap.Hutao.Service.Notification; +using Snap.Hutao.Service.User; using Snap.Hutao.UI.Xaml.View.Page; using System.Collections.ObjectModel; @@ -16,7 +18,7 @@ namespace Snap.Hutao.ViewModel.DailyNote; /// [Injection(InjectAs.Transient)] [ConstructorGenerated(CallBaseConstructor = true)] -internal sealed partial class DailyNoteViewModelSlim : Abstraction.ViewModelSlim +internal sealed partial class DailyNoteViewModelSlim : Abstraction.ViewModelSlim, IRecipient { private readonly ITaskContext taskContext; private readonly IInfoBarService infoBarService; @@ -30,6 +32,13 @@ internal sealed partial class DailyNoteViewModelSlim : Abstraction.ViewModelSlim /// public List? DailyNoteEntries { get => dailyNoteEntries; set => SetProperty(ref dailyNoteEntries, value); } + public void Receive(UserRemovedMessage message) + { + HashSet removedUids = message.RemovedUser.UserGameRoles.SourceCollection.Select(role => role.GameUid).ToHashSet(); + List? entries = DailyNoteEntries?.Where(entry => !removedUids.Contains(entry.Uid)).ToList(); + taskContext.BeginInvokeOnMainThread(() => { DailyNoteEntries = entries; }); + } + /// protected override async Task LoadAsync() {