special navigation to make it feel slightly less disruptive.
MODIFY
WalletWasabi.Fluent/Styles/Themes/Base.axaml
WalletWasabi.Fluent/Styles/Themes/Base.axaml
<x:Double x:Key="DataGridRowSelectedBackgroundOpacity">1.0</x:Double>
<x:Double x:Key="DataGridRowSelectedUnfocusedBackgroundOpacity">1.0</x:Double>
- <x:String x:Key="LabelsWatermarkText">i.e. Alice, Bob, Pizza Inc, Exchange</x:String>
+ <x:String x:Key="LabelsWatermarkText">Person or Company i.e. Alice, Bob, Pizza Inc</x:String>
<StaticResource x:Key="NotificationCardInformationBackgroundBrush" ResourceKey="SystemAccentColor" />
<StaticResource x:Key="TextControlForeground" ResourceKey="SystemBaseHighColor" />

MODIFY
WalletWasabi.Fluent/ViewModels/Navigation/RoutableViewModel.cs
WalletWasabi.Fluent/ViewModels/Navigation/RoutableViewModel.cs
@@ -138,11 +138,11 @@ namespace WalletWasabi.Fluent.ViewModels.Navigation
public async Task<DialogResult<TResult>> NavigateDialogAsync<TResult>(DialogViewModelBase<TResult> dialog)
=> await NavigateDialogAsync(dialog, CurrentTarget);
- public async Task<DialogResult<TResult>> NavigateDialogAsync<TResult>(DialogViewModelBase<TResult> dialog, NavigationTarget target)
+ public async Task<DialogResult<TResult>> NavigateDialogAsync<TResult>(DialogViewModelBase<TResult> dialog, NavigationTarget target, NavigationMode navigationMode = NavigationMode.Normal)
{
var dialogTask = dialog.GetDialogResultAsync();
- Navigate(target).To(dialog);
+ Navigate(target).To(dialog, navigationMode);
var result = await dialogTask;

MODIFY
WalletWasabi.Fluent/ViewModels/Wallets/Send/TransactionPreviewViewModel.cs
WalletWasabi.Fluent/ViewModels/Wallets/Send/TransactionPreviewViewModel.cs
@@ -332,11 +332,18 @@ namespace WalletWasabi.Fluent.ViewModels.Wallets.Send
private async Task OnConfirmAsync()
{
var labelDialog = new LabelEntryDialogViewModel(_wallet, _info);
+
+ Navigate(NavigationTarget.CompactDialogScreen).To(labelDialog);
+
+ await labelDialog.GetDialogResultAsync();
+
var result = await NavigateDialogAsync(labelDialog, NavigationTarget.CompactDialogScreen);
if (result.Result is null)
{
+ Navigate(NavigationTarget.CompactDialogScreen).Back();
return;
}
+
_info.UserLabels = result.Result;
var transaction = TransactionHelpers.BuildTransaction(_wallet, _info);
@@ -371,7 +378,7 @@ namespace WalletWasabi.Fluent.ViewModels.Wallets.Send
}
var authDialog = AuthorizationHelpers.GetAuthorizationDialog(_wallet, transactionAuthorizationInfo);
- var authDialogResult = await NavigateDialogAsync(authDialog, authDialog.DefaultTarget);
+ var authDialogResult = await NavigateDialogAsync(authDialog, authDialog.DefaultTarget, NavigationMode.Clear);
if (!authDialogResult.Result && authDialogResult.Kind == DialogResultKind.Normal)
{

MODIFY
WalletWasabi.Fluent/Views/Dialogs/LabelEntryDialogView.axaml
WalletWasabi.Fluent/Views/Dialogs/LabelEntryDialogView.axaml
x:DataType="dialogs:LabelEntryDialogViewModel"
x:CompileBindings="True"
x:Class="WalletWasabi.Fluent.Views.Dialogs.LabelEntryDialogView">
- <c:ContentArea Width="500" Height="300"
- Title="{Binding Title}"
- Caption="Enter the name of the person or the company whom you are sending to"
+ <c:ContentArea Width="500" Height="450"
+ Caption="Confirm transaction:"
CancelContent="Cancel"
EnableCancel="{Binding EnableCancel}"
EnableBack="{Binding EnableBack}"
- EnableNext="True" NextContent="Done">
+ EnableNext="True" NextContent="Continue">
+ <StackPanel>
+ <Label Target="LabelTagBox" Content="Enter the name of the person or company who will receive the transaction:" />
<c:TagsBox x:Name="LabelTagBox"
DataContext="{Binding SuggestionLabels}"
VerticalAlignment="Top"
<behaviors:FocusOnAttachedBehavior />
</i:Interaction.Behaviors>
</c:TagsBox>
+ </StackPanel>
</c:ContentArea>
</UserControl>

special navigation to make it feel slightly less disruptive.