using InABox.Core; using Xamarin.Forms; namespace InABox.Mobile { public abstract class MobileViewModel : BindableObject, IMobileViewModel { public Color SelectedColor => XF.Material.Forms.Material.Color.Surface; public Color SelectedTextColor => XF.Material.Forms.Material.Color.OnSurface; public Color UnselectedColor => XF.Material.Forms.Material.Color.Primary; public Color UnselectedTextColor => XF.Material.Forms.Material.Color.OnPrimary; public event MobileViewModelLoadedEvent Loaded; protected void OnLoaded() => Loaded?.Invoke(this, new MobileViewModelLoadedEventArgs()); } public abstract class MobileViewModel : MobileViewModel where TEntity : Entity, IRemotable, IPersistent where TShell : IShell { private TShell _item; public TShell Item { get => _item; set { _item = value; DoLoad(); OnLoaded(); } } protected abstract void DoLoad(); } }