@model CustomerAttributeModel

@{
    const string hideInfoBlockAttributeName = "CustomerAttributePage.HideCommonBlock";
    var customer = await workContext.GetCurrentCustomerAsync();
    var hideInfoBlock = await genericAttributeService.GetAttributeAsync<bool>(customer, hideInfoBlockAttributeName);

    const string hideValuesBlockAttributeName = "CustomerAttributePage.HideValuesBlock";
    var hideValuesBlock = await genericAttributeService.GetAttributeAsync<bool>(customer, hideValuesBlockAttributeName);
}

<div asp-validation-summary="All"></div>
<input asp-for="Id" type="hidden" />

<section class="content">
    <div class="container-fluid">
        <div class="form-horizontal">
            <nop-cards id="customerattribute-cards">
                <nop-card asp-name="customerattribute-info" asp-icon="fas fa-info" asp-title="@T("Admin.Customers.CustomerAttributes.Info")" asp-hide-block-attribute-name="@hideInfoBlockAttributeName" asp-hide="@hideInfoBlock" asp-advanced="false">@await Html.PartialAsync("_CreateOrUpdate.Info", Model)</nop-card>
                <nop-card asp-name="customerattribute-values" asp-icon="fas fa-check-square" asp-title="@T("Admin.Customers.CustomerAttributes.Values")" asp-hide-block-attribute-name="@hideValuesBlockAttributeName" asp-hide="@hideValuesBlock" asp-advanced="true">@await Html.PartialAsync("_CreateOrUpdate.Values", Model)</nop-card>

                @await Component.InvokeAsync("AdminWidget", new { widgetZone = AdminWidgetZones.CustomerAttributeDetailsBlock, additionalData = Model })
            </nop-cards>
        </div>
    </div>
</section>