Files
prefab-page-detail/Prefab.Web.Client/Components/Shared/CardGrid.razor
2025-10-27 17:39:18 -04:00

34 lines
739 B
Plaintext

<div class="@ContainerClass">
@ChildContent
</div>
@code {
[Parameter]
public string View { get; set; } = "grid";
[Parameter]
public string CssClass { get; set; } = string.Empty;
[Parameter]
public RenderFragment? ChildContent { get; set; }
private string ContainerClass => string.Join(" ", BuildClasses());
private IEnumerable<string> BuildClasses()
{
yield return "products-view__list";
yield return "products-list";
yield return ResolveLayoutClass();
if (!string.IsNullOrWhiteSpace(CssClass))
{
yield return CssClass;
}
}
private string ResolveLayoutClass() =>
string.Equals(View, "list", StringComparison.OrdinalIgnoreCase)
? "products-list--layout--list"
: "products-list--layout--grid-3";
}