using System; using System.Reactive; using ReactiveUI; namespace Flawless.Client.ViewModels; public abstract class ViewModelBase : ReactiveObject {} public abstract class RoutableViewModelBase : ViewModelBase, IRoutableViewModel { public string? UrlPathSegment { get; } = Guid.NewGuid().ToString(); public IScreen HostScreen { get; } public ReactiveCommand GoBackCommand => HostScreen.Router.NavigateBack; protected RoutableViewModelBase(IScreen hostScreen) { HostScreen = hostScreen; } }