namespace EventsAppQuest.Core
{
    /// <summary>
    /// Estado da comparação contextual entre dois hotspots na apresentação Quest (venda lado a lado).
    /// Usado pelo QuestHotspotComparisonController; preenchido a partir da proposta (ProposalVisualHotspot, DecisionSummary, etc.).
    /// </summary>
    public class QuestHotspotComparisonState
    {
        /// <summary>Id do hotspot da coluna esquerda.</summary>
        public string LeftHotspotId { get; set; }

        /// <summary>Id do hotspot da coluna direita.</summary>
        public string RightHotspotId { get; set; }

        /// <summary>Título do hotspot esquerdo.</summary>
        public string LeftTitle { get; set; }

        /// <summary>Título do hotspot direito.</summary>
        public string RightTitle { get; set; }

        /// <summary>Mensagem comercial do lado esquerdo.</summary>
        public string LeftSalesMessage { get; set; }

        /// <summary>Mensagem comercial do lado direito.</summary>
        public string RightSalesMessage { get; set; }

        /// <summary>Lado considerado melhor para experiência ("Left", "Right" ou null).</summary>
        public string BetterForExperience { get; set; }

        /// <summary>Lado considerado melhor para upsell ("Left", "Right" ou null).</summary>
        public string BetterForUpsell { get; set; }

        /// <summary>Lado considerado mais claro ("Left", "Right" ou null).</summary>
        public string BetterForClarity { get; set; }

        /// <summary>Resumo comparativo final (ex.: da decisão ou recomendação).</summary>
        public string ComparisonSummary { get; set; }

        /// <summary>Se true, o painel de comparação está aberto.</summary>
        public bool IsComparisonOpen { get; set; }

        /// <summary>Origem da abertura da comparação (ex.: "ContextPanel", "HotspotContext").</summary>
        public string OpenedBySource { get; set; }
    }
}
