namespace NexusReader.UI.Shared.Services; public sealed class ReaderInteractionService : IReaderInteractionService { public event Action? OnNodeSelected; public event Action? OnScrollToBlockRequested; public event Action? OnHighlightBlockRequested; public event Action? OnTextSelected; public void NotifyNodeSelected(string nodeId) { OnNodeSelected?.Invoke(nodeId); } public void RequestScrollToBlock(string blockId) { OnScrollToBlockRequested?.Invoke(blockId); } public void RequestHighlightBlock(string blockId) { OnHighlightBlockRequested?.Invoke(blockId); } public void NotifyTextSelected(string text, string blockId, SelectionCoordinates coords) { OnTextSelected?.Invoke(text, blockId, coords); } }