polish basic privacy tile
MODIFY
WalletWasabi.Fluent/Helpers/TileHelper.cs
WalletWasabi.Fluent/Helpers/TileHelper.cs
@@ -36,7 +36,7 @@ namespace WalletWasabi.Fluent.Helpers
TilePresetIndex = walletViewModel.LayoutIndex
},
- new PrivacyControlTileViewModel(walletViewModel.Wallet, balanceChanged)
+ new PrivacyControlTileViewModel(walletViewModel, balanceChanged)
{
TilePresets = new ObservableCollection<TilePresetViewModel>()
{

MODIFY
WalletWasabi.Fluent/Icons/Icons.axaml
WalletWasabi.Fluent/Icons/Icons.axaml
<StreamGeometry x:Key="heart_regular">M8.8559 13.8028L15.1002 7.49941C16.7846 5.78856 16.7792 3.02549 15.0833 1.31249C13.4205 -0.367079 10.7555 -0.410504 9.05721 1.19086C9.0206 1.22539 8.98443 1.26068 8.94874 1.29673L8.35236 1.90026L7.74781 1.28963C7.71467 1.25616 7.68113 1.22333 7.6472 1.19116C5.94533 -0.422744 3.27592 -0.398067 1.62059 1.2739C-0.0677258 2.9792 -0.0594858 5.75004 1.63617 7.46275L7.91306 13.8028C8.17342 14.0657 8.59554 14.0657 8.8559 13.8028ZM9.65937 2.00029C10.9558 0.691352 13.0618 0.692036 14.3727 2.01604C15.6846 3.34123 15.6866 5.47734 14.3886 6.79681L14.3876 6.79783L8.38455 12.8577L2.3468 6.75919C1.03346 5.43263 1.03223 3.28953 2.33123 1.97746C3.62462 0.671064 5.72922 0.672083 7.03717 1.99319L7.99739 2.96306C8.19318 3.16082 8.51276 3.16067 8.70836 2.96272L9.65937 2.00029Z</StreamGeometry>
<StreamGeometry x:Key="private_regular">M11.2093 6.1249C12.949 6.1249 14.3593 7.53518 14.3593 9.27484C14.3593 11.0145 12.949 12.4248 11.2093 12.4248C9.71071 12.4248 8.45654 11.3783 8.13773 9.9762H6.58102C6.26221 11.3783 5.00804 12.4248 3.50944 12.4248C1.76977 12.4248 0.359493 11.0145 0.359493 9.27484C0.359493 7.53518 1.76977 6.1249 3.50944 6.1249C5.13088 6.1249 6.46618 7.35 6.64019 8.92506H8.07857C8.25257 7.35 9.58787 6.1249 11.2093 6.1249ZM3.50944 7.17488C2.34966 7.17488 1.40948 8.11506 1.40948 9.27484C1.40948 10.4346 2.34966 11.3748 3.50944 11.3748C4.66922 11.3748 5.60941 10.4346 5.60941 9.27484C5.60941 8.11506 4.66922 7.17488 3.50944 7.17488ZM11.2093 7.17488C10.0495 7.17488 9.10935 8.11506 9.10935 9.27484C9.10935 10.4346 10.0495 11.3748 11.2093 11.3748C12.3691 11.3748 13.3093 10.4346 13.3093 9.27484C13.3093 8.11506 12.3691 7.17488 11.2093 7.17488ZM7.35938 4.19993C9.73187 4.19993 11.9304 4.4376 13.9545 4.91387C14.2367 4.98028 14.4117 5.26291 14.3453 5.54515C14.2789 5.82739 13.9963 6.00235 13.714 5.93594C11.7716 5.47889 9.65347 5.24991 7.35938 5.24991C5.06528 5.24991 2.94719 5.47889 1.00473 5.93594C0.722491 6.00235 0.439858 5.82739 0.373449 5.54515C0.30704 5.26291 0.482004 4.98028 0.764241 4.91387C2.78838 4.4376 4.98688 4.19993 7.35938 4.19993ZM9.94951 0C10.6655 0 11.3183 0.396848 11.6502 1.0231L11.7086 1.14316L12.739 3.46172C12.8568 3.72667 12.7375 4.03692 12.4725 4.15468C12.2296 4.26263 11.9487 4.17135 11.8129 3.95131L11.7796 3.88816L10.7491 1.5696C10.6214 1.28235 10.3508 1.08794 10.0429 1.05496L9.94951 1.04998H4.76924C4.45489 1.04998 4.16735 1.21828 4.01215 1.48628L3.96967 1.5696L2.9392 3.88816C2.82144 4.15311 2.51119 4.27244 2.24624 4.15468C2.00336 4.04674 1.88286 3.77704 1.95516 3.52876L1.97971 3.46172L3.01018 1.14316C3.30097 0.488896 3.92873 0.0535616 4.6358 0.00460967L4.76924 0H9.94951Z</StreamGeometry>
+ <StreamGeometry x:Key="rocket_regular">M8.63237,19.2805 C8.89863364,19.5467727 8.92283116,19.9634587 8.70497759,20.2570793 L8.63236,20.3412 L7.57375,21.3997 C7.28086,21.6926 6.80598,21.6926 6.51309,21.3997 C6.24682636,21.1334273 6.22262884,20.7167413 6.44048992,20.4231959 L6.51311,20.3391 L7.57171,19.2805 C7.86461,18.9876 8.33948,18.9876 8.63237,19.2805 Z M6.68984,17.3339 C6.95611273,17.6001727 6.98031934,18.016776 6.76245983,18.3103816 L6.68984,18.3945 L4.21497,20.8694 C3.92208,21.1623 3.4472,21.1623 3.15431,20.8694 C2.88804636,20.6031273 2.86384058,20.1864413 3.08169264,19.8928207 L3.15431,19.8087 L5.62918,17.3339 C5.92208,17.041 6.39695,17.041 6.68984,17.3339 Z M18.7782803,2.2324576 L19.0355,2.30675 L19.6976,2.51222 C20.5007214,2.76146714 21.1420857,3.3630448 21.444828,4.14012008 L21.5086,4.32248 L21.715,4.98679 C22.432525,7.29543464 21.8591435,9.80415445 20.2277124,11.5699999 L20.0421,11.7631 L19.0442,12.761 C20.030408,14.075912 19.9692176,15.9274717 18.8605403,17.1756967 L18.7165,17.3285 L17.4739,18.5711 C17.2077182,18.8373727 16.7910405,18.8615793 16.4974207,18.6437198 L16.4133,18.5711 L14.8237,16.9815 L14.6469,17.1583 C14.0037,17.8015 12.9842952,17.8393353 12.2968358,17.2718059 L12.172,17.1583 L11.6749,16.6611 L10.8769,18.056 C10.7609,18.2588 10.5569,18.396 10.3253,18.427 C10.1323,18.45275 9.938425,18.4023889 9.78353611,18.2892269 L9.6956,18.2139 L5.80649,14.3248 C5.64112,14.1594 5.56236,13.9264 5.59349,13.6946 C5.62018143,13.496 5.72499286,13.317751 5.88231915,13.1978892 L5.96524,13.143 L7.3608,12.347 L6.86546,11.8517 C6.22224118,11.2085 6.18440478,10.1890952 6.7519508,9.50165244 L6.86546,9.37682 L7.04527,9.19701 L5.45429,7.60604 C5.18802636,7.33977636 5.16382058,6.92310777 5.38167264,6.62949778 L5.45429,6.54538 L6.69682,5.30285 C7.8932872,4.1063828 9.74107677,3.95821717 11.0988173,4.8583531 L11.2659,4.97633 L12.2618,3.98045 C13.9706107,2.27162964 16.4567735,1.61138838 18.7782803,2.2324576 Z M4.74526,15.3893 C5.03816,15.6822 5.03816,16.1571 4.74526,16.45 L3.6846,17.5106 C3.39171,17.8035 2.91684,17.8035 2.62394,17.5106 C2.33105,17.2177 2.33105,16.7429 2.62394,16.45 L3.6846,15.3893 C3.9775,15.0964 4.45237,15.0964 4.74526,15.3893 Z M17.9641,13.8411 L15.8843,15.9208 L16.9436,16.9801 L17.6558,16.2679 C18.3138,15.6099 18.4166,14.6069 17.9641,13.8411 Z M8.46045,13.4467 L7.56207,13.9591 L10.0622,16.4593 L10.5756,15.5618 L8.46045,13.4467 Z M13.4981149,4.87341403 L13.3225,5.04112 L7.92612,10.4375 C7.84476167,10.5188333 7.831195,10.6423194 7.88543736,10.7377037 L7.92612,10.791 L13.2327,16.0976 C13.3140333,16.1789333 13.4375194,16.1924889 13.5329037,16.1382667 L13.5862,16.0976 L18.9814,10.7024 C20.3028458,9.38101167 20.8180259,7.46208293 20.3493287,5.66554744 L20.2826,5.43197 L20.0761,4.76766 C19.9675667,4.41824667 19.7122284,4.13626247 19.3807398,3.99222154 L19.253,3.94481 L18.5909,3.73934 C16.8068667,3.18566292 14.8695519,3.62291488 13.4981149,4.87341403 Z M16.5927,7.43109 C17.569,8.4074 17.569,9.99031 16.5927,10.9666 C15.6164,11.9429 14.0335,11.9429 13.0572,10.9666 C12.0808,9.99031 12.0808,8.4074 13.0572,7.43109 C14.0335,6.45478 15.6164,6.45478 16.5927,7.43109 Z M14.1178,8.49175 C13.7273,8.88227 13.7273,9.51544 14.1178,9.90596 C14.5083,10.2965 15.1415,10.2965 15.532,9.90596 C15.9226,9.51544 15.9226,8.88227 15.532,8.49175 C15.1415,8.10123 14.5083,8.10123 14.1178,8.49175 Z M7.88485721,6.24655617 L7.75748,6.36351 L7.04528,7.07571 L8.10593,8.13635 L10.186,6.05628 C9.46789375,5.63094563 8.54056387,5.69437102 7.88485721,6.24655617 Z</StreamGeometry>
+ <StreamGeometry x:Key="pause_regular">M17.75,7 C19.5449254,7 21,8.45507456 21,10.25 L21,37.75 C21,39.5449254 19.5449254,41 17.75,41 L12.25,41 C10.4550746,41 9,39.5449254 9,37.75 L9,10.25 C9,8.45507456 10.4550746,7 12.25,7 L17.75,7 Z M35.75,7 C37.5449254,7 39,8.45507456 39,10.25 L39,37.75 C39,39.5449254 37.5449254,41 35.75,41 L30.25,41 C28.4550746,41 27,39.5449254 27,37.75 L27,10.25 C27,8.45507456 28.4550746,7 30.25,7 L35.75,7 Z M17.75,9.5 L12.25,9.5 C11.8357864,9.5 11.5,9.83578644 11.5,10.25 L11.5,37.75 C11.5,38.1642136 11.8357864,38.5 12.25,38.5 L17.75,38.5 C18.1642136,38.5 18.5,38.1642136 18.5,37.75 L18.5,10.25 C18.5,9.83578644 18.1642136,9.5 17.75,9.5 Z M35.75,9.5 L30.25,9.5 C29.8357864,9.5 29.5,9.83578644 29.5,10.25 L29.5,37.75 C29.5,38.1642136 29.8357864,38.5 30.25,38.5 L35.75,38.5 C36.1642136,38.5 36.5,38.1642136 36.5,37.75 L36.5,10.25 C36.5,9.83578644 36.1642136,9.5 35.75,9.5 Z</StreamGeometry>
+
+
<!-- Wallet icons -->
<StreamGeometry x:Key="default_wallet_icon">M18.75,3 C20.5449254,3 22,4.45507456 22,6.25 L22,17.75 C22,19.5449254 20.5449254,21 18.75,21 L5.25,21 C3.45507456,21 2,19.5449254 2,17.75 L2,6.25 C2,4.45507456 3.45507456,3 5.25,3 L18.75,3 Z M18.75,4.5 L5.25,4.5 C4.28350169,4.5 3.5,5.28350169 3.5,6.25 L3.5,17.75 C3.5,18.7164983 4.28350169,19.5 5.25,19.5 L18.75,19.5 C19.7164983,19.5 20.5,18.7164983 20.5,17.75 L20.5,6.25 C20.5,5.28350169 19.7164983,4.5 18.75,4.5 Z M6.74835407,6.5 L17.2543007,6.5 C17.6685143,6.5 18.0043007,6.83578644 18.0043007,7.25 C18.0043007,7.62969577 17.7221468,7.94349096 17.3560713,7.99315338 L17.2543007,8 L6.74835407,8 C6.33414051,8 5.99835407,7.66421356 5.99835407,7.25 C5.99835407,6.87030423 6.28050795,6.55650904 6.64658351,6.50684662 L6.74835407,6.5 L17.2543007,6.5 L6.74835407,6.5 Z</StreamGeometry>
<StreamGeometry x:Key="Ledger">M 19.4076 16.7481 C 18.8641 16.2046 18.8641 15.3234 19.4076 14.7799 L 19.9492 14.2383 L 21.475 15.764 L 19.9492 17.2897 L 19.4076 16.7481 Z M 21.8565 16.1452 L 20.3308 17.6709 L 21.8565 19.1966 L 23.3823 17.6709 L 21.8565 16.1452 Z M 22.2378 19.5785 L 23.7635 18.0527 L 25.2892 19.5785 L 24.7476 20.1201 C 24.2041 20.6636 23.3229 20.6636 22.7794 20.1201 L 22.2378 19.5785 Z M 25.6705 16.1452 L 24.1448 17.6709 L 25.6705 19.1966 L 27.1962 17.6709 L 25.6705 16.1452 Z M 26.0522 15.764 L 27.578 14.2383 L 28.1196 14.7799 C 28.6631 15.3234 28.6631 16.2046 28.1196 16.7481 L 27.578 17.2897 L 26.0522 15.764 Z M 20.3308 13.8564 L 22.7796 11.4076 C 23.3231 10.8641 24.2043 10.8641 24.7478 11.4076 L 27.1966 13.8564 L 23.7637 17.2893 L 20.3308 13.8564 Z M 22.8663 30.1094 C 21.6554 28.9792 20.0607 28.3506 18.4043 28.3506 H 15.4011 C 11.7894 28.3506 8.8616 31.2784 8.8616 34.8902 V 43.0218 C 8.8616 46.6334 11.7894 49.5614 15.4011 49.5614 H 45.2225 C 44.9665 49.5614 44.7129 49.5358 44.4653 49.486 C 43.7715 49.3465 43.1244 49.017 42.5998 48.5277 L 22.8663 30.1094 Z M 33.5593 45.5614 L 20.1371 33.0336 C 20.137 33.0336 20.1371 33.0336 20.1371 33.0336 C 19.6668 32.5947 19.0475 32.3506 18.4043 32.3506 H 15.4011 C 13.9986 32.3506 12.8616 33.4875 12.8616 34.8902 V 43.0218 C 12.8616 44.4243 13.9986 45.5614 15.4011 45.5614 H 33.5593 Z M 4 37.126 V 40.7887 H 4.6326 V 37.126 H 4 Z M 0 44.7887 H 8.6326 V 33.126 H 0 V 44.7887 Z M 21.3538 7.4525 L 15.6039 13.2023 C 14.6122 14.1941 14.6122 15.802 15.6039 16.7938 L 43.6737 44.8635 C 44.6655 45.8553 46.2734 45.8553 47.2652 44.8635 L 53.015 39.1137 C 54.0068 38.1219 54.0068 36.514 53.015 35.5222 L 24.9452 7.4525 C 23.9535 6.4607 22.3456 6.4607 21.3538 7.4525 Z M 12.7755 10.3739 L 18.5254 4.624 C 21.0792 2.0702 25.2198 2.0702 27.7737 4.624 L 55.8435 32.6938 C 58.3973 35.2477 58.3973 39.3883 55.8435 41.9421 L 50.0936 47.692 C 47.5397 50.2458 43.3991 50.2458 40.8453 47.692 L 12.7755 19.6222 C 10.2217 17.0683 10.2217 12.9277 12.7755 10.3739 Z M 45.2227 40.4733 C 46.8962 40.4733 48.2528 39.1166 48.2528 37.4432 C 48.2528 35.7697 46.8962 34.4131 45.2227 34.4131 C 43.5492 34.4131 42.1926 35.7697 42.1926 37.4432 C 42.1926 39.1166 43.5492 40.4733 45.2227 40.4733 Z</StreamGeometry>

MODIFY
WalletWasabi.Fluent/ViewModels/Wallets/Home/Tiles/PrivacyControlTileViewModel.cs
WalletWasabi.Fluent/ViewModels/Wallets/Home/Tiles/PrivacyControlTileViewModel.cs
using System.Collections.Generic;
using System.Reactive;
using System.Reactive.Disposables;
+using System.Reactive.Linq;
using System.Windows.Input;
using NBitcoin;
using ReactiveUI;
+using WalletWasabi.WabiSabi.Client;
using WalletWasabi.Wallets;
namespace WalletWasabi.Fluent.ViewModels.Wallets.Home.Tiles;
@@ -18,30 +20,28 @@ public partial class PrivacyControlTileViewModel : TileViewModel
[AutoNotify] private bool _boostButtonVisible;
[AutoNotify] private IList<(string color, double percentShare)>? _testDataPoints;
[AutoNotify] private IList<DataLegend>? _testDataPointsLegend;
+ [AutoNotify] private string _chartText;
- public PrivacyControlTileViewModel(Wallet wallet, IObservable<Unit> balanceChanged)
+ public PrivacyControlTileViewModel(WalletViewModel walletVm, IObservable<Unit> balanceChanged)
{
- _wallet = wallet;
+ _wallet = walletVm.Wallet;
_balanceChanged = balanceChanged;
+ walletVm.Settings.WhenAnyValue(x => x.AutoCoinJoin).Subscribe(x => IsAutoCoinJoinEnabled = x);
+
this.WhenAnyValue(x => x.IsAutoCoinJoinEnabled, x => x.IsBoosting)
.Subscribe(x =>
{
var (autoCjEnabled, isBoosting) = x;
BoostButtonVisible = !autoCjEnabled && !isBoosting;
- });
- BoostPrivacyCommand = ReactiveCommand.Create(() =>
- {
- wallet.AllowManualCoinJoin = true;
- IsBoosting = true;
+ ChartText = isBoosting ? "Boosting" : "";
});
- CancelPrivacyBoostCommand = ReactiveCommand.Create(() =>
+ BoostPrivacyCommand = ReactiveCommand.Create(() =>
{
- wallet.AllowManualCoinJoin = false;
- IsBoosting = false;
+ IsBoosting = _wallet.AllowManualCoinJoin = !IsBoosting;
});
}
@@ -52,6 +52,19 @@ public partial class PrivacyControlTileViewModel : TileViewModel
_balanceChanged
.Subscribe(_ => Update())
.DisposeWith(disposables);
+
+ if (Services.HostedServices.GetOrDefault<CoinJoinManager>() is { } coinJoinManager)
+ {
+ Observable
+ .FromEventPattern<WalletStatusChangedEventArgs>(coinJoinManager, nameof(CoinJoinManager.WalletStatusChanged))
+ .Select(args => args.EventArgs)
+ .Where(e => e.Wallet == _wallet)
+ .Subscribe(x =>
+ {
+
+ })
+ .DisposeWith(disposables);
+ }
}
private void Update()
@@ -65,7 +78,7 @@ public partial class PrivacyControlTileViewModel : TileViewModel
var normalDecimalAmount = normalAmount.ToDecimal(MoneyUnit.BTC);
var totalDecimalAmount = privateDecimalAmount + normalDecimalAmount;
- var pcPrivate = totalDecimalAmount == 0M ? 0d : (double)(privateDecimalAmount / totalDecimalAmount);
+ var pcPrivate = 0.6;//totalDecimalAmount == 0M ? 0d : (double)(privateDecimalAmount / totalDecimalAmount);
var pcNormal = 1 - pcPrivate;
TestDataPoints = new List<(string, double)>
@@ -83,7 +96,5 @@ public partial class PrivacyControlTileViewModel : TileViewModel
public ICommand BoostPrivacyCommand { get; }
- public ICommand CancelPrivacyBoostCommand { get; }
-
}
\ No newline at end of file

MODIFY
WalletWasabi.Fluent/Views/Wallets/Home/Tiles/PrivacyControlTileView.axaml
WalletWasabi.Fluent/Views/Wallets/Home/Tiles/PrivacyControlTileView.axaml
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:controls="clr-namespace:WalletWasabi.Fluent.Controls"
xmlns:tiles="clr-namespace:WalletWasabi.Fluent.ViewModels.Wallets.Home.Tiles"
+ xmlns:converters="clr-namespace:WalletWasabi.Fluent.Converters"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:CompileBindings="True" x:DataType="tiles:PrivacyControlTileViewModel"
x:Class="WalletWasabi.Fluent.Views.Wallets.Home.Tiles.PrivacyControlTileView">
<controls:TileControl TileSize="Large">
- <Panel>
- <Panel.Styles>
+ <DockPanel>
+ <DockPanel.Styles>
<Style Selector="Button">
<Setter Property="HorizontalAlignment" Value="Center" />
<Setter Property="VerticalAlignment" Value="Center" />
</Style>
- </Panel.Styles>
- <Button IsVisible="{Binding BoostButtonVisible}" Command="{Binding BoostPrivacyCommand}" Content="Boost Privacy" />
- <Button IsVisible="{Binding IsBoosting}" Content="Cancel Privacy Boost" Command="{Binding CancelPrivacyBoostCommand}" />
-
- <controls:ProgressRing IsIndeterminate="True" IsVisible="{Binding IsBoosting}" />
- <controls:RingChartControl
- Margin="16,0,0,0"
- VerticalAlignment="Center"
- HorizontalAlignment="Center"
- DataPoints="{Binding TestDataPoints}" />
+
+ <Style Selector="controls|ProgressRing.visible, controls|RingChartControl.visible">
+ <Setter Property="Opacity" Value="1" />
+ </Style>
+ <Style Selector="controls|ProgressRing, controls|RingChartControl">
+ <Setter Property="Opacity" Value="0" />
+ <Setter Property="Transitions">
+ <Transitions>
+ <DoubleTransition Property="Opacity" Duration="0:0:0.5" />
+ </Transitions>
+ </Setter>
+ </Style>
+ </DockPanel.Styles>
+
+ <DockPanel DockPanel.Dock="Bottom">
+ <StackPanel Spacing="10" DockPanel.Dock="Left" Orientation="Horizontal">
+ <Button Classes="plain" Cursor="Hand" Command="{Binding BoostPrivacyCommand}" IsVisible="{Binding !IsBoosting}">
+ <PathIcon Data="{StaticResource rocket_regular}" />
+ </Button>
+ <Button Classes="plain" Cursor="Hand" Command="{Binding BoostPrivacyCommand}" IsVisible="{Binding IsBoosting}">
+ <PathIcon Data="{StaticResource dismiss_light}" />
+ </Button>
+ <Button Classes="plain" Cursor="Hand" Command="{Binding BoostPrivacyCommand}" IsVisible="{Binding IsAutoCoinJoinEnabled}">
+ <PathIcon Data="{StaticResource pause_regular}" />
+ </Button>
+ </StackPanel>
+ <ItemsControl DockPanel.Dock="Bottom" Items="{Binding TestDataPointsLegend}" HorizontalAlignment="Right">
+ <ItemsControl.ItemTemplate>
+ <DataTemplate x:DataType="tiles:DataLegend">
+ <StackPanel Orientation="Horizontal" Spacing="10" TextBlock.FontFamily="{StaticResource MonospacedFont}">
+ <Ellipse Margin="0,0,8,0" HorizontalAlignment="Left" Width="10"
+ Height="10"
+ Fill="{Binding HexColor, Converter={x:Static converters:ColorStringConverters.HexColorToBrush}}" />
+
+ <controls:PrivacyContentControl NumberOfPrivacyChars="9" Margin="0 0 8 0"
+ Content="{Binding Amount, Converter={x:Static converters:MoneyConverters.ToFormattedString}}" />
+
+ <controls:PrivacyContentControl DockPanel.Dock="Right" Margin="8,0,0,0"
+ HorizontalAlignment="Right"
+ Content="{Binding PercentShare, StringFormat=\{0:P1\}}" />
+ <TextBlock DockPanel.Dock="Right" HorizontalAlignment="Right" Text="{Binding Label}" Margin="0 0 8 0" />
+ </StackPanel>
+ </DataTemplate>
+ </ItemsControl.ItemTemplate>
+ <ItemsControl.ItemsPanel>
+ <ItemsPanelTemplate>
+ <StackPanel />
+ </ItemsPanelTemplate>
+ </ItemsControl.ItemsPanel>
+ </ItemsControl>
+ </DockPanel>
+
+ <Separator DockPanel.Dock="Bottom" Margin="0 10" />
+
+ <Button BorderThickness="0" Classes="plain" Command="{Binding BoostPrivacyCommand}" Cursor="Hand"
+ Background="{x:Null}" HorizontalAlignment="Center">
+ <Panel>
+ <controls:RingChartControl DataPoints="{Binding TestDataPoints}" Classes.visible="{Binding !IsBoosting}"
+ HorizontalAlignment="Center" VerticalAlignment="Center" />
+ <controls:ProgressRing IsIndeterminate="True" Classes.visible="{Binding IsBoosting}" />
+
+ <PathIcon Data="{StaticResource rocket_regular}" Height="50" Width="50" IsVisible="{Binding !IsBoosting}" />
+
+ <TextBlock Text="{Binding ChartText}" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="36" />
</Panel>
+ </Button>
+
+ </DockPanel>
</controls:TileControl>
</UserControl>
\ No newline at end of file

polish basic privacy tile