public WalletManagerViewModel() : base("Wallet Manager")
        {
            LoadWalletViewModelDesktop = new LoadWalletViewModel(this, LoadWalletType.Desktop);

            Categories = new ObservableCollection <CategoryViewModel>
            {
                new GenerateWalletViewModel(this),
                new RecoverWalletViewModel(this),
                LoadWalletViewModelDesktop,
                new LoadWalletViewModel(this, LoadWalletType.Password),
                new ConnectHardwareWalletViewModel(this)
            };

            SelectedCategory = Categories.FirstOrDefault();

            this.WhenAnyValue(x => x.SelectedCategory).Subscribe(category =>
            {
                category?.OnCategorySelected();

                CurrentView = category;
            });
        }
        public WalletManagerViewModel(AvaloniaGlobalComponent global) : base(global.Global, "Wallet Manager")
        {
            LoadWalletViewModelDesktop  = new LoadWalletViewModel(this, LoadWalletType.Desktop);
            LoadWalletViewModelHardware = new LoadWalletViewModel(this, LoadWalletType.Hardware);

            Categories = new ObservableCollection <CategoryViewModel>
            {
                new GenerateWalletViewModel(this),
                new RecoverWalletViewModel(this),
                LoadWalletViewModelDesktop,
                new LoadWalletViewModel(this, LoadWalletType.Password),
                LoadWalletViewModelHardware
            };

            SelectedCategory            = Categories.FirstOrDefault();
            HardwareWalletRefreshCancel = new CancellationTokenSource();

            this.WhenAnyValue(x => x.SelectedCategory).Subscribe(category =>
            {
                category?.OnCategorySelected();

                CurrentView = category;
            });
        }