using System;
using Xamarin.Forms;

namespace InABox.Mobile
{
    public class MobileAccordionItem : BindableObject
    {
        
        private static readonly BindableProperty TextProperty =
            BindableProperty.Create(nameof(Text), typeof(String), typeof(MobileAccordionItem), "");
        public String Text
        {
            get => GetValue(TextProperty) as String;
            set => SetValue(TextProperty, value);
        }
        
        private static readonly BindableProperty ContentProperty =
            BindableProperty.Create(nameof(Content), typeof(View), typeof(MobileAccordionItem));
        
        public View Content
        {
            get => GetValue(ContentProperty) as View;
            set => SetValue(ContentProperty, value);
        }

        private static readonly BindableProperty VisibleProperty =
            BindableProperty.Create(nameof(Visible), typeof(bool), typeof(MobileAccordionItem), true);
        
        public bool Visible
        {
            get => (bool)GetValue(VisibleProperty);
            set => SetValue(VisibleProperty, value);
        }
        
        private static readonly BindableProperty ButtonVisibleProperty =
            BindableProperty.Create(nameof(ButtonVisible), typeof(bool), typeof(MobileAccordionItem), true);
        
        public bool ButtonVisible
        {
            get => (bool)GetValue(ButtonVisibleProperty);
            set => SetValue(ButtonVisibleProperty, value);
        }
        
        private static readonly BindableProperty FrameVisibleProperty =
            BindableProperty.Create(nameof(FrameVisible), typeof(bool), typeof(MobileAccordion), true);
        
        public bool FrameVisible
        {
            get => (bool)GetValue(FrameVisibleProperty);
            set => SetValue(FrameVisibleProperty, value);
        }
        
    }
}