success dialog
MODIFY
WalletWasabi.Fluent/ViewModels/TransactionBroadcasting/BroadcastTransactionViewModel.cs
WalletWasabi.Fluent/ViewModels/TransactionBroadcasting/BroadcastTransactionViewModel.cs
@@ -94,7 +94,7 @@ namespace WalletWasabi.Fluent.ViewModels.TransactionBroadcasting
try
{
await Services.TransactionBroadcaster.SendTransactionAsync(transaction);
- Navigate().To(new SuccessBroadcastTransactionViewModel());
+ Navigate().To(new SuccessViewModel("The transaction has been successfully broadcasted."));
}
catch (Exception ex)
{

RENAME
WalletWasabi.Fluent/ViewModels/TransactionBroadcasting/SuccessBroadcastTransactionViewModel.cs
WalletWasabi.Fluent/ViewModels/TransactionBroadcasting/SuccessViewModel.cs
@@ -4,13 +4,16 @@ using WalletWasabi.Fluent.ViewModels.Navigation;
namespace WalletWasabi.Fluent.ViewModels.TransactionBroadcasting
{
[NavigationMetaData(Title = "Success")]
- public partial class SuccessBroadcastTransactionViewModel : RoutableViewModel
+ public partial class SuccessViewModel : RoutableViewModel
{
- public SuccessBroadcastTransactionViewModel()
+ public SuccessViewModel(string successText)
{
+ SuccessText = successText;
NextCommand = ReactiveCommand.Create(() => Navigate().Clear());
SetupCancel(enableCancel: false, enableCancelOnEscape: true, enableCancelOnPressed: true);
}
+
+ public string SuccessText { get; }
}
}

MODIFY
WalletWasabi.Fluent/ViewModels/Wallets/Send/TransactionPreviewViewModel.cs
WalletWasabi.Fluent/ViewModels/Wallets/Send/TransactionPreviewViewModel.cs
@@ -11,6 +11,7 @@ using WalletWasabi.Fluent.Helpers;
using WalletWasabi.Fluent.Models;
using WalletWasabi.Fluent.ViewModels.Dialogs.Base;
using WalletWasabi.Fluent.ViewModels.Navigation;
+using WalletWasabi.Fluent.ViewModels.TransactionBroadcasting;
using WalletWasabi.Logging;
using WalletWasabi.Wallets;
@@ -52,7 +53,11 @@ namespace WalletWasabi.Fluent.ViewModels.Wallets.Send
if (Services.UiConfig.UsePsbtWorkflow)
{
- NextCommand = ReactiveCommand.CreateFromTask(async () => await TransactionHelpers.ExportTransactionToBinaryAsync(transaction));
+ NextCommand = ReactiveCommand.CreateFromTask(async () =>
+ {
+ await TransactionHelpers.ExportTransactionToBinaryAsync(transaction);
+ Navigate().To(new SuccessViewModel("The PSBT has been successfully created."));
+ });
_nextButtonText = "Save to file";
}
else

DELETE
WalletWasabi.Fluent/Views/TransactionBroadcasting/SuccessBroadcastTransactionView.axaml
-<UserControl xmlns="https://github.com/avaloniaui"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:c="using:WalletWasabi.Fluent.Controls"
- xmlns:transactionBroadcasting="using:WalletWasabi.Fluent.ViewModels.TransactionBroadcasting"
- mc:Ignorable="d" d:DesignWidth="428" d:DesignHeight="371"
- x:DataType="transactionBroadcasting:SuccessBroadcastTransactionViewModel"
- x:CompileBindings="True"
- x:Class="WalletWasabi.Fluent.Views.TransactionBroadcasting.SuccessBroadcastTransactionView">
- <c:ContentArea Title="{Binding Title}"
- EnableNext="True" NextContent="Done"
- ScrollViewer.VerticalScrollBarVisibility="Disabled">
- <DockPanel>
- <TextBlock Text="Your transaction was successfully broadcasted." DockPanel.Dock="Bottom" TextAlignment="Center" TextWrapping="Wrap" Margin="0 40"/>
- <Viewbox MaxHeight="200" HorizontalAlignment="Center" VerticalAlignment="Center">
- <Viewbox.Styles>
- <Style Selector=":is(PathIcon).fadeIn">
- <Style.Animations>
- <Animation Duration="0:0:1">
- <KeyFrame Cue="0%">
- <Setter Property="Opacity" Value="0.0"/>
- </KeyFrame>
- <KeyFrame Cue="100%">
- <Setter Property="Opacity" Value="1.0"/>
- </KeyFrame>
- </Animation>
- </Style.Animations>
- </Style>
- </Viewbox.Styles>
- <PathIcon Data="{StaticResource checkmark_filled}" Foreground="{DynamicResource SystemControlBackgroundAccentBrush}" Classes="fadeIn" />
- </Viewbox>
- </DockPanel>
- </c:ContentArea>
-</UserControl>
\ No newline at end of file

ADD
WalletWasabi.Fluent/Views/TransactionBroadcasting/SuccessView.axaml
+<UserControl xmlns="https://github.com/avaloniaui"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:c="using:WalletWasabi.Fluent.Controls"
+ xmlns:transactionBroadcasting="using:WalletWasabi.Fluent.ViewModels.TransactionBroadcasting"
+ mc:Ignorable="d" d:DesignWidth="428" d:DesignHeight="371"
+ x:DataType="transactionBroadcasting:SuccessViewModel"
+ x:CompileBindings="True"
+ x:Class="WalletWasabi.Fluent.Views.TransactionBroadcasting.SuccessView">
+ <c:ContentArea Title="{Binding Title}"
+ EnableNext="True" NextContent="Done"
+ ScrollViewer.VerticalScrollBarVisibility="Disabled">
+ <DockPanel VerticalAlignment="Center">
+ <TextBlock Text="{Binding SuccessText}" DockPanel.Dock="Bottom" TextAlignment="Center" TextWrapping="Wrap" />
+
+ <Viewbox MaxHeight="150" Margin="40">
+ <Viewbox.Styles>
+ <Style Selector=":is(PathIcon).fadeIn">
+ <Style.Animations>
+ <Animation Duration="0:0:1" Delay="0:0:1">
+ <KeyFrame Cue="0%">
+ <Setter Property="Opacity" Value="0.0" />
+ </KeyFrame>
+ <KeyFrame Cue="100%">
+ <Setter Property="Opacity" Value="0.6" />
+ </KeyFrame>
+ </Animation>
+ </Style.Animations>
+ </Style>
+ </Viewbox.Styles>
+ <PathIcon Data="{StaticResource copy_confirmed}" Opacity="0.6" Foreground="{DynamicResource SystemAccentColor}" Classes="fadeIn"/>
+ </Viewbox>
+ </DockPanel>
+ </c:ContentArea>
+</UserControl>

RENAME
WalletWasabi.Fluent/Views/TransactionBroadcasting/SuccessBroadcastTransactionView.axaml.cs
WalletWasabi.Fluent/Views/TransactionBroadcasting/SuccessView.axaml.cs
@@ -3,9 +3,9 @@ using Avalonia.Markup.Xaml;
namespace WalletWasabi.Fluent.Views.TransactionBroadcasting
{
- public class SuccessBroadcastTransactionView : UserControl
+ public class SuccessView : UserControl
{
- public SuccessBroadcastTransactionView()
+ public SuccessView()
{
InitializeComponent();
}

success dialog