@if (Entity!.IdPassives().Count > 0)
{
    @if (StyleType.Equals("Plain"))
    {
        @foreach (var idPassive in Entity.IdPassives())
        {
            var passive = EntityModel.Get(idPassive.Id);

            var info = passive.Info();

            var production = passive.Production();

            var requirements = passive.Requirements();


            <div>
                <div>
                    <b>Passive Name:</b> @info.Name
                </div>
                <div>
                    <b>- Description:</b> @((MarkupString)info.Description)
                </div>

                @if (!info.Notes.Trim().Equals(""))
                {
                    <div>
                        <b>- Notes:</b> @((MarkupString)info.Notes)
                    </div>
                }
            </div>

            @if (production != null)
            {
                <div>
                    @if (production.Pyre != 0)
                    {
                        <div>
                            <b>- Pyre:</b> @production.Pyre
                        </div>
                    }
                    @if (production.Cooldown != 0)
                    {
                        <div>
                            <b>- Cooldown:</b> @production.Cooldown.ToString()s
                        </div>
                    }
                </div>
            }

            @if (requirements.Count > 0)
            {
                @foreach (var requirement in requirements)
                {
                    var requirementModel = DATA.Get()[requirement.Id];
                    <div>
                        <span>
                            <b>- @requirement.Requirement.Replace("_", " "):</b> @requirementModel.Info().Name
                        </span>
                    </div>
                }
            }
        }
    }
    else
    {
        <EntityDisplayComponent Title="Passives">
            @foreach (var idPassive in Entity.IdPassives())
            {
                var passive = EntityModel.Get(idPassive.Id);

                var info = passive.Info();

                var production = passive.Production();

                var requirements = passive.Requirements();


                <div>
                    <div>
                        <b>Name:</b> <EntityLabelComponent EntityId="@passive.DataType"/>
                    </div>
                    <div>
                        <b>Description:</b> @((MarkupString)info.Description)
                    </div>

                    @if (!info.Notes.Trim().Equals(""))
                    {
                        <div>
                            <b>Notes:</b> @((MarkupString)info.Notes)
                        </div>
                    }


                    @if (requirements.Count > 0)
                    {
                        @foreach (var requirement in requirements)
                        {
                            var requirementModel = DATA.Get()[requirement.Id];
                            <div>
                                <span>
                                    <b>@requirement.Requirement.Replace("_", " "):</b> @requirementModel.Info().Name
                                </span>
                            </div>
                        }
                    }
                </div>

                @if (production != null)
                {
                    <div>
                        @if (production.Pyre != 0)
                        {
                            <div>
                                <b>Pyre:</b> @production.Pyre
                            </div>
                        }
                        @if (production.Cooldown != 0)
                        {
                            <div>
                                <b>Cooldown:</b> @production.Cooldown.ToString()s
                            </div>
                        }
                    </div>
                }
            }
        </EntityDisplayComponent>
    }
}


@code {

    [CascadingParameter]
    public EntityModel? Entity { get; set; } = default!;


    [CascadingParameter]
    public string StyleType { get; set; } = "Detailed";

}