feat(theme): BrandBar

This commit is contained in:
Joseph Doherty
2026-06-01 04:46:58 -04:00
parent af8682c0f2
commit 8e70718ca4
3 changed files with 34 additions and 0 deletions
@@ -0,0 +1,11 @@
@* Components/BrandBar.razor *@
<div class="brand">
@if (Logo is not null) { @Logo }
else { <span class="mark">&#9646;</span> }
@Product
</div>
@code {
[Parameter, EditorRequired] public string Product { get; set; } = string.Empty;
[Parameter] public RenderFragment? Logo { get; set; }
}
@@ -0,0 +1,22 @@
namespace ZB.MOM.WW.Theme.Tests;
public class BrandBarTests : TestContext
{
[Fact]
public void Renders_product_with_default_mark()
{
var cut = RenderComponent<BrandBar>(p => p.Add(x => x.Product, "OtOpcUa"));
Assert.Contains("OtOpcUa", cut.Markup);
Assert.NotNull(cut.Find(".brand .mark")); // default glyph when no Logo
}
[Fact]
public void Custom_logo_replaces_default_mark()
{
var cut = RenderComponent<BrandBar>(p => p
.Add(x => x.Product, "ScadaBridge")
.Add(x => x.Logo, (RenderFragment)(b => b.AddMarkupContent(0, "<img class='logo'/>"))));
Assert.NotNull(cut.Find(".brand .logo"));
Assert.Empty(cut.FindAll(".brand .mark"));
}
}
@@ -1,4 +1,5 @@
global using Bunit;
global using Xunit;
global using Microsoft.AspNetCore.Components;
global using ZB.MOM.WW.Theme;
global using ZB.MOM.WW.Theme.Components;