From 70da292f21220b49b5e9f775c9ab7e0f43aad1c4 Mon Sep 17 00:00:00 2001 From: qhy040404 Date: Fri, 26 Apr 2024 12:31:27 +0800 Subject: [PATCH] refine #1575 ui --- .../Snap.Hutao/Resource/Localization/SH.resx | 18 +++++++++----- src/Snap.Hutao/Snap.Hutao/Snap.Hutao.csproj | 6 +++++ ...alAbyssUploadRecordHomaNotLoginDialog.xaml | 16 +++++++++++++ ...byssUploadRecordHomaNotLoginDialog.xaml.cs | 24 +++++++++++++++++++ .../SpiralAbyss/SpiralAbyssRecordViewModel.cs | 12 +++++++--- 5 files changed, 67 insertions(+), 9 deletions(-) create mode 100644 src/Snap.Hutao/Snap.Hutao/View/Dialog/SpiralAbyssUploadRecordHomaNotLoginDialog.xaml create mode 100644 src/Snap.Hutao/Snap.Hutao/View/Dialog/SpiralAbyssUploadRecordHomaNotLoginDialog.xaml.cs diff --git a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx index e2c6a2eb..8dde5516 100644 --- a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx +++ b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx @@ -1361,6 +1361,18 @@ 是否永久删除用户数据 + + 前往登录 + + + 当前未登录胡桃账号,上传深渊数据无法获赠胡桃云时长 + + + 继续上传 + + + 上传深渊数据 + 查看更新日志 @@ -1733,12 +1745,6 @@ 保存游戏路径失败 - - 当前未登录胡桃账号,上传深渊数据无法获赠胡桃云时长 - - - 上传深渊数据 - 用户 [{0}] 添加成功 diff --git a/src/Snap.Hutao/Snap.Hutao/Snap.Hutao.csproj b/src/Snap.Hutao/Snap.Hutao/Snap.Hutao.csproj index 3b416e63..0e3191fd 100644 --- a/src/Snap.Hutao/Snap.Hutao/Snap.Hutao.csproj +++ b/src/Snap.Hutao/Snap.Hutao/Snap.Hutao.csproj @@ -181,6 +181,7 @@ + @@ -354,6 +355,11 @@ + + + MSBuild:Compile + + MSBuild:Compile diff --git a/src/Snap.Hutao/Snap.Hutao/View/Dialog/SpiralAbyssUploadRecordHomaNotLoginDialog.xaml b/src/Snap.Hutao/Snap.Hutao/View/Dialog/SpiralAbyssUploadRecordHomaNotLoginDialog.xaml new file mode 100644 index 00000000..831e0067 --- /dev/null +++ b/src/Snap.Hutao/Snap.Hutao/View/Dialog/SpiralAbyssUploadRecordHomaNotLoginDialog.xaml @@ -0,0 +1,16 @@ + + + + \ No newline at end of file diff --git a/src/Snap.Hutao/Snap.Hutao/View/Dialog/SpiralAbyssUploadRecordHomaNotLoginDialog.xaml.cs b/src/Snap.Hutao/Snap.Hutao/View/Dialog/SpiralAbyssUploadRecordHomaNotLoginDialog.xaml.cs new file mode 100644 index 00000000..d9a24c7a --- /dev/null +++ b/src/Snap.Hutao/Snap.Hutao/View/Dialog/SpiralAbyssUploadRecordHomaNotLoginDialog.xaml.cs @@ -0,0 +1,24 @@ +// Copyright (c) DGP Studio. All rights reserved. +// Licensed under the MIT license. + +using Microsoft.UI.Xaml.Controls; + +namespace Snap.Hutao.View.Dialog; + +internal sealed partial class SpiralAbyssUploadRecordHomaNotLoginDialog : ContentDialog +{ + private readonly ITaskContext taskContext; + + public SpiralAbyssUploadRecordHomaNotLoginDialog(IServiceProvider serviceProvider) + { + InitializeComponent(); + + taskContext = serviceProvider.GetRequiredService(); + } + + public async ValueTask ConfirmAsync() + { + await taskContext.SwitchToMainThreadAsync(); + return await ShowAsync() is ContentDialogResult.Primary; + } +} diff --git a/src/Snap.Hutao/Snap.Hutao/ViewModel/SpiralAbyss/SpiralAbyssRecordViewModel.cs b/src/Snap.Hutao/Snap.Hutao/ViewModel/SpiralAbyss/SpiralAbyssRecordViewModel.cs index c1ea5089..cac9964c 100644 --- a/src/Snap.Hutao/Snap.Hutao/ViewModel/SpiralAbyss/SpiralAbyssRecordViewModel.cs +++ b/src/Snap.Hutao/Snap.Hutao/ViewModel/SpiralAbyss/SpiralAbyssRecordViewModel.cs @@ -6,9 +6,12 @@ using Microsoft.UI.Xaml.Controls; using Snap.Hutao.Factory.ContentDialog; using Snap.Hutao.Message; using Snap.Hutao.Service.Hutao; +using Snap.Hutao.Service.Navigation; using Snap.Hutao.Service.Notification; using Snap.Hutao.Service.SpiralAbyss; using Snap.Hutao.Service.User; +using Snap.Hutao.View.Dialog; +using Snap.Hutao.View.Page; using Snap.Hutao.ViewModel.Complex; using Snap.Hutao.ViewModel.User; using Snap.Hutao.Web.Hutao.Response; @@ -29,6 +32,7 @@ internal sealed partial class SpiralAbyssRecordViewModel : Abstraction.ViewModel private readonly ISpiralAbyssRecordService spiralAbyssRecordService; private readonly IContentDialogFactory contentDialogFactory; private readonly HutaoSpiralAbyssClient spiralAbyssClient; + private readonly INavigationService navigationService; private readonly IInfoBarService infoBarService; private readonly ITaskContext taskContext; private readonly IUserService userService; @@ -135,12 +139,14 @@ internal sealed partial class SpiralAbyssRecordViewModel : Abstraction.ViewModel { if (!hutaoUserOptions.IsLoggedIn) { - ContentDialogResult result = await contentDialogFactory - .CreateForConfirmCancelAsync(SH.ViewModelSpiralAbyssUploadRecordHomaNotLoginTitle, SH.ViewModelSpiralAbyssUploadRecordHomaNotLoginContent) + SpiralAbyssUploadRecordHomaNotLoginDialog dialog = await contentDialogFactory + .CreateInstanceAsync() .ConfigureAwait(false); - if (result is not ContentDialogResult.Primary) + if (!await dialog.ConfirmAsync().ConfigureAwait(false)) { + await taskContext.SwitchToMainThreadAsync(); + await navigationService.NavigateAsync(INavigationAwaiter.Default, true).ConfigureAwait(false); return; } }