connect the splash animation to MusicBox visibility
MODIFY
WalletWasabi.Fluent/ViewModels/Wallets/WalletViewModel.cs
WalletWasabi.Fluent/ViewModels/Wallets/WalletViewModel.cs
@@ -40,6 +40,7 @@ public partial class WalletViewModel : WalletViewModelBase
[AutoNotify(SetterModifier = AccessModifier.Private)] private bool _isWalletBalanceZero;
[AutoNotify(SetterModifier = AccessModifier.Private)] private bool _isEmptyWallet;
[AutoNotify(SetterModifier = AccessModifier.Private)] private bool _isSendButtonVisible;
+ [AutoNotify(SetterModifier = AccessModifier.Private)] private bool _isMusicBoxVisible;
protected WalletViewModel(Wallet wallet) : base(wallet)
{
@@ -125,6 +126,13 @@ public partial class WalletViewModel : WalletViewModelBase
this.WhenAnyValue(x => x.IsWalletBalanceZero)
.Subscribe(_ => IsSendButtonVisible = !IsWalletBalanceZero && (!wallet.KeyManager.IsWatchOnly || wallet.KeyManager.IsHardwareWallet));
+ this.WhenAnyValue(x => x.IsSelected, x => x.IsWalletBalanceZero)
+ .Subscribe(tuple =>
+ {
+ var (isSelected, isWalletBalanceZero) = tuple;
+ IsMusicBoxVisible = isSelected && !isWalletBalanceZero && !wallet.KeyManager.IsWatchOnly;
+ });
+
SendCommand = ReactiveCommand.Create(() => Navigate(NavigationTarget.DialogScreen).To(new SendViewModel(wallet, balanceChanged, History.UnfilteredTransactions)));
ReceiveCommand = ReactiveCommand.Create(() => Navigate(NavigationTarget.DialogScreen).To(new ReceiveViewModel(wallet)));

MODIFY
WalletWasabi.Fluent/Views/Shell/MainView.axaml
WalletWasabi.Fluent/Views/Shell/MainView.axaml
<Panel VerticalAlignment="Bottom"
Height="100">
<spectrum:SpectrumControl Opacity="0.6" IsActive="{Binding IsCoinJoinActive}"
+ IsDockEffectVisible="{Binding CurrentWallet.IsMusicBoxVisible, FallbackValue=False}"
Classes.fireEffect="{Binding CurrentWallet.CoinJoinStateViewModel.IsInCriticalPhase, FallbackValue=False}">
- <spectrum:SpectrumControl.IsDockEffectVisible>
- <MultiBinding Converter="{x:Static BoolConverters.And}">
- <Binding Path="CurrentWallet.IsActive" FallbackValue="False" />
- <Binding Path="!CurrentWallet.IsWalletBalanceZero" FallbackValue="False" />
- <Binding Path="!CurrentWallet.Wallet.KeyManager.IsWatchOnly" FallbackValue="False" />
- </MultiBinding>
- </spectrum:SpectrumControl.IsDockEffectVisible>
<spectrum:SpectrumControl.Styles>
<Style Selector="spectrum|SpectrumControl.fireEffect">
<Setter Property="Foreground" Value="{StaticResource OrangeCoinColor}" />

MODIFY
WalletWasabi.Fluent/Views/Wallets/MusicControlsView.axaml
WalletWasabi.Fluent/Views/Wallets/MusicControlsView.axaml
</Style>
</UserControl.Styles>
<Border Name="PART_MainBorder" Margin="3 3 3 0"
+ Classes.IsActive="{Binding IsMusicBoxVisible}"
TextBlock.FontFamily="{StaticResource MonospacedFont}"
CornerRadius="4 4 0 0">
- <Classes.IsActive>
- <MultiBinding Converter="{x:Static BoolConverters.And}">
- <Binding Path="IsActive" FallbackValue="False" />
- <Binding Path="!IsWalletBalanceZero" FallbackValue="False" />
- <Binding Path="!Wallet.KeyManager.IsWatchOnly" FallbackValue="False" />
- </MultiBinding>
- </Classes.IsActive>
<Border ClipToBounds="True"
CornerRadius="4 4 0 0"
BorderBrush="{DynamicResource GlassEdgeColor}"

connect the splash animation to MusicBox visibility