using Pixiview.iOS.Renderers;
using Pixiview.Utils;
using UIKit;
using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;

[assembly: ExportRenderer(typeof(Shell), typeof(AppShellRenderer))]
namespace Pixiview.iOS.Renderers
{
    public class AppShellRenderer : ShellRenderer
    {
        public override bool PrefersHomeIndicatorAutoHidden => Screen.GetHomeIndicatorAutoHidden(Element);

        protected override IShellSectionRenderer CreateShellSectionRenderer(ShellSection shellSection)
        {
            var renderer = base.CreateShellSectionRenderer(shellSection);
            if (renderer is ShellSectionRenderer sr && Element is AppShell shell)
            {
                shell.SetNavigationBarHeight(
                    sr.NavigationBar.Frame.Height,
                    UIApplication.SharedApplication.StatusBarFrame.Height);
            }
            return renderer;
        }
    }
}