using System;
using EventsAppQuest.Web.Application;

namespace EventsAppQuest.Web.Presentation
{
    /// <summary>
    /// Contexto de runtime da camada Web (evita acoplar ao ServiceRegistry do Core).
    /// Definido pelo dashboard; as views usam para obter dados e indicadores.
    /// </summary>
    public static class WebRuntimeContext
    {
        public static IMockWebDataService DataService { get; set; }
        public static ICRMIndicatorsService IndicatorsService { get; set; }

        /// <summary>Disparado quando os dados mock são alterados (ex.: após Aplicar resultado Quest). As views podem subscrever para Refresh.</summary>
        public static event Action OnDataChanged;
        public static void NotifyDataChanged() => OnDataChanged?.Invoke();
    }
}
