34 lines
739 B
Plaintext
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";
|
|
}
|