show the loading spinner only if the password dialog is closed.
MODIFY
WalletWasabi.Fluent/ViewModels/AddWallet/RecoverWalletViewModel.cs
WalletWasabi.Fluent/ViewModels/AddWallet/RecoverWalletViewModel.cs
@@ -51,8 +51,6 @@ namespace WalletWasabi.Fluent.ViewModels.AddWallet
AdvancedRecoveryOptionsDialogCommand = ReactiveCommand.CreateFromTask(
async () => await OnAdvancedRecoveryOptionsDialogAsync());
-
- EnableAutoBusyOn(NextCommand);
}
private async Task OnNextAsync(string? walletName)
@@ -63,6 +61,8 @@ namespace WalletWasabi.Fluent.ViewModels.AddWallet
if (dialogResult.Result is { } password)
{
+ IsBusy = true;
+
try
{
var keyManager = await Task.Run(
@@ -91,6 +91,8 @@ namespace WalletWasabi.Fluent.ViewModels.AddWallet
// TODO navigate to error dialog.
Logger.LogError(ex);
}
+
+ IsBusy = false;
}
}

MODIFY
WalletWasabi.Fluent/ViewModels/AddWallet/SelectWalletCreationOptionViewModel.cs
WalletWasabi.Fluent/ViewModels/AddWallet/SelectWalletCreationOptionViewModel.cs
@@ -27,8 +27,6 @@ namespace WalletWasabi.Fluent.ViewModels.AddWallet
ConnectHardwareWalletCommand = ReactiveCommand.Create(() => OnConnectHardwareWallet(walletName));
CreateWalletCommand = ReactiveCommand.CreateFromTask(async () => await OnCreateWalletAsync(walletName));
-
- EnableAutoBusyOn(CreateWalletCommand);
}
public ICommand CreateWalletCommand { get; }
@@ -75,11 +73,13 @@ namespace WalletWasabi.Fluent.ViewModels.AddWallet
private async Task OnCreateWalletAsync(string walletName)
{
var dialogResult = await NavigateDialogAsync(
- new CreatePasswordDialogViewModel("Type the password of the wallet.", enableEmpty: true)
+ new CreatePasswordDialogViewModel("Create a password for the wallet.", enableEmpty: true)
, NavigationTarget.CompactDialogScreen);
if (dialogResult.Result is { } password)
{
+ IsBusy = true;
+
var (km, mnemonic) = await Task.Run(
() =>
{
@@ -93,6 +93,8 @@ namespace WalletWasabi.Fluent.ViewModels.AddWallet
});
Navigate().To(new RecoveryWordsViewModel(km, mnemonic));
+
+ IsBusy = false;
}
}

show the loading spinner only if the password dialog is closed.