Move and rework logic
MODIFY
WalletWasabi.Fluent/ViewModels/AddWallet/Create/ConfirmRecoveryWordsViewModel.cs
WalletWasabi.Fluent/ViewModels/AddWallet/Create/ConfirmRecoveryWordsViewModel.cs
@@ -59,7 +59,7 @@ public partial class ConfirmRecoveryWordsViewModel : RoutableViewModel
private void OnNext(KeyManager keyManager)
{
- Navigate().To(new CoinJoinProfilesViewModel(keyManager, isNewWallet: true));
+ Navigate().To(new CoinJoinProfilesViewModel(keyManager, true));
}
private void OnCancel()

MODIFY
WalletWasabi.Fluent/ViewModels/Login/LoginViewModel.cs
WalletWasabi.Fluent/ViewModels/Login/LoginViewModel.cs
@@ -3,6 +3,8 @@ using System.Windows.Input;
using ReactiveUI;
using WalletWasabi.Fluent.Helpers;
using WalletWasabi.Fluent.ViewModels.AddWallet;
+using WalletWasabi.Fluent.ViewModels.CoinJoinProfiles;
+using WalletWasabi.Fluent.ViewModels.Dialogs.Base;
using WalletWasabi.Fluent.ViewModels.Login.PasswordFinder;
using WalletWasabi.Fluent.ViewModels.Navigation;
using WalletWasabi.Fluent.ViewModels.Wallets;
@@ -66,10 +68,26 @@ public partial class LoginViewModel : RoutableViewModel
var legalResult = await ShowLegalAsync();
if (legalResult)
+ {
+ if (closedWalletViewModel.Wallet.KeyManager.IsCoinjoinProfileSelected || closedWalletViewModel.Wallet.KeyManager.IsWatchOnly)
+ {
+ LoginWallet(closedWalletViewModel);
+ }
+ else
+ {
+ DialogResult<bool> isProfileSelected = await NavigateDialogAsync(new CoinJoinProfilesViewModel(closedWalletViewModel.Wallet.KeyManager, false), NavigationTarget.DialogScreen);
+
+ if (isProfileSelected.Result)
{
LoginWallet(closedWalletViewModel);
}
else
+ {
+ wallet.Logout();
+ }
+ }
+ }
+ else
{
wallet.Logout();
ErrorMessage = "You must accept the Terms and Conditions!";

MODIFY
WalletWasabi.Fluent/ViewModels/Wallets/WalletViewModel.cs
WalletWasabi.Fluent/ViewModels/Wallets/WalletViewModel.cs
@@ -247,10 +247,6 @@ public partial class WalletViewModel : WalletViewModelBase
}
History.Activate(disposables);
- if (!Wallet.KeyManager.IsCoinjoinProfileSelected)
- {
- Navigate(NavigationTarget.FullScreen).To(new CoinJoinProfilesViewModel(Wallet.KeyManager, isNewWallet: false));
- }
}
public static WalletViewModel Create(Wallet wallet)

Move and rework logic