﻿using System;

namespace BugseePlugin.Internals
{
    /// <summary>
    /// Intermediate class of Bugsee UI configuration/appearance
    /// </summary>
    internal sealed class BugseeAppearance : AppearanceBase, IBugseeAppearance
    {
        private IBugseeReportAppearance reportAppearance;
        private IBugseeFeedbackAppearance feedbackAppearance;

        internal BugseeAppearance(Func<Internals.BugseeAppearanceProperties, AppearanceValue, AppearanceValue> getSetHandler) : base(getSetHandler)
        {
            this.reportAppearance = new BugseeReportAppearance(this, getSetHandler);
            this.feedbackAppearance = new BugseeFeedbackAppearance(this, getSetHandler);
        }

        /// <inheritdoc />
        public IBugseeReportAppearance Report
        {
            get => reportAppearance;
        }

        /// <inheritdoc />
        public IBugseeFeedbackAppearance Feedback
        {
            get => feedbackAppearance;
        }
    }
}
