diff --git a/src/App/ViewModels/BoolToTabPlacementConverter.cs b/src/App/ViewModels/BoolToTabPlacementConverter.cs new file mode 100644 index 0000000..2d1daa4 --- /dev/null +++ b/src/App/ViewModels/BoolToTabPlacementConverter.cs @@ -0,0 +1,21 @@ +using System; +using System.Globalization; +using Avalonia.Controls; +using Avalonia.Data.Converters; + +namespace PalladiumWallet.App.ViewModels; + +/// +/// true (mobile) → Dock.Bottom — tab strip in basso, standard Android. +/// false (desktop) → Dock.Top — comportamento predefinito Avalonia. +/// +public sealed class BoolToTabPlacementConverter : IValueConverter +{ + public static readonly BoolToTabPlacementConverter Instance = new(); + + public object Convert(object? value, Type targetType, object? parameter, CultureInfo culture) => + value is true ? Dock.Bottom : Dock.Top; + + public object ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture) => + throw new NotSupportedException(); +} diff --git a/src/App/ViewModels/MainWindowViewModel.cs b/src/App/ViewModels/MainWindowViewModel.cs index 17916fb..16cbc00 100644 --- a/src/App/ViewModels/MainWindowViewModel.cs +++ b/src/App/ViewModels/MainWindowViewModel.cs @@ -94,6 +94,8 @@ public partial class MainWindowViewModel : ViewModelBase /// true su desktop; false su Android/iOS — nasconde le funzioni legate al filesystem libero. public bool IsDesktop => !OperatingSystem.IsAndroid() && !OperatingSystem.IsIOS(); + public bool IsMobile => !IsDesktop; + public string UnitLabel => _config.Unit; public AppConfig CurrentConfig => _config; diff --git a/src/App/Views/MainView.axaml b/src/App/Views/MainView.axaml index e49e543..01daacf 100644 --- a/src/App/Views/MainView.axaml +++ b/src/App/Views/MainView.axaml @@ -15,7 +15,7 @@ - + + + +