using Model; namespace Shared.Services; public class CardPreviewService { public CardData? HoveredCard { get; private set; } public DocData? SelectedDoc { get; private set; } public double X { get; private set; } public double Y { get; private set; } public bool IsVisible { get; private set; } public event Action? OnChange; public void Show(CardData card, double x, double y) { HoveredCard = card; X = x; Y = y; IsVisible = true; NotifyStateChanged(); } public void Hide() { IsVisible = false; NotifyStateChanged(); } public void SelectDoc(DocData? doc) { SelectedDoc = doc; NotifyStateChanged(); } private void NotifyStateChanged() { OnChange?.Invoke(); } }