Add sats/vbyte to send fee the y-axis
MODIFY
WalletWasabi.Fluent/ViewModels/Wallets/Send/SendFeeViewModel.cs
WalletWasabi.Fluent/ViewModels/Wallets/Send/SendFeeViewModel.cs
@@ -33,6 +33,7 @@ namespace WalletWasabi.Fluent.ViewModels.Wallets.Send
private readonly Wallet _wallet;
private readonly TransactionInfo _transactionInfo;
[AutoNotify] private double[]? _confirmationTargetValues;
+ [AutoNotify] private string[]? _satoshiPerByteLabels;
[AutoNotify] private double[]? _satoshiPerByteValues;
[AutoNotify] private string[]? _confirmationTargetLabels;
[AutoNotify] private double _currentConfirmationTarget;
@@ -275,13 +276,27 @@ namespace WalletWasabi.Fluent.ViewModels.Wallets.Send
.ToArray();
_updatingCurrentValue = true;
+
+ if (satoshiPerByteValues.Any())
+ {
+ var minY = satoshiPerByteValues.Min();
+ var maxY = satoshiPerByteValues.Max();
+ SatoshiPerByteLabels = new [] { minY.ToString("F0"), (maxY / 2).ToString("F0"), maxY.ToString("F0") };
+ }
+ else
+ {
+ SatoshiPerByteLabels = null;
+ }
+
ConfirmationTargetLabels = confirmationTargetLabels;
ConfirmationTargetValues = confirmationTargetValues;
SatoshiPerByteValues = satoshiPerByteValues;
+
SliderMinimum = 0;
SliderMaximum = confirmationTargetValues.Length - 1;
CurrentConfirmationTarget = Math.Clamp(CurrentConfirmationTarget, ConfirmationTargetValues.Min(), ConfirmationTargetValues.Max());
SliderValue = GetSliderValue(CurrentConfirmationTarget, ConfirmationTargetValues);
+
_updatingCurrentValue = false;
}

MODIFY
WalletWasabi.Fluent/Views/Wallets/Send/SendFeeView.axaml
WalletWasabi.Fluent/Views/Wallets/Send/SendFeeView.axaml
<Setter Property="XAxisLabelFontWeight" Value="Normal" />
<Setter Property="XAxisLabelFontSize" Value="12" />
</Style>
+ <!-- LineChart YAxis Labels -->
+ <Style Selector="c|LineChart.yAxisLabels">
+ <Setter Property="YAxisLabelForeground" Value="{DynamicResource TextForegroundColor}" />
+ <Setter Property="YAxisLabelAngle" Value="0" />
+ <Setter Property="YAxisLabelOffset" Value="-25,0" />
+ <Setter Property="YAxisLabelAlignment" Value="Auto" />
+ <Setter Property="YAxisLabelFontSize" Value="12" />
+ <Setter Property="YAxisLabelOpacity" Value="0.8" />
+ </Style>
<!-- LineChart Cursor -->
<Style Selector="c|LineChart.cursor">
<Setter Property="CursorStroke" Value="{DynamicResource SliderThumbBackground}" />
<GridLength x:Key="SliderPostContentMargin">0</GridLength>
</DockPanel.Resources>
<Slider x:Name="CursorValue2"
- Margin="18,0,18,0"
+ Margin="38,0,18,0"
KeyboardNavigation.IsTabStop="False"
DockPanel.Dock="Bottom"
Classes="cursor"
Minimum="{Binding SliderMinimum}"
Maximum="{Binding SliderMaximum}"
Value="{Binding SliderValue}" />
- <c:LineChart Classes="cursor border xAxisLabels yAxis yAxisTitle area"
+ <c:LineChart Classes="cursor border xAxisLabels yAxis yAxisLabels yAxisTitle area"
XAxisLabels="{Binding ConfirmationTargetLabels}"
XAxisValues="{Binding ConfirmationTargetValues}"
XAxisCurrentValue="{Binding CurrentConfirmationTarget, Mode=TwoWay}"
+ YAxisLabels="{Binding SatoshiPerByteLabels}"
YAxisValues="{Binding SatoshiPerByteValues}">
<c:LineChart.Styles>
<Style Selector="c|LineChart">
<Setter Property="Margin" Value="18,10,18,0"/>
<Setter Property="MinHeight" Value="150"/>
<Setter Property="YAxisLogarithmicScale" Value="False"/>
- <Setter Property="AreaMargin" Value="10,0,10,30"/>
+ <Setter Property="AreaMargin" Value="30,0,10,30"/>
<Setter Property="AreaStrokeThickness" Value="2"/>
<Setter Property="AreaStrokeLineCap" Value="Round"/>
<Setter Property="AreaMinViableWidth" Value="40"/>

Add sats/vbyte to send fee the y-axis