UI/Inspector/ActionDisplay.razor
@namespace HC3.UI

<style>
    ActionDisplay
    {
        flex-grow: 1;
        width: 100%;
    }
</style>

<root>
    @if (Agent.ActionController.CurrentAction.IsValid() && Agent.ActionController.CurrentAction.GetDisplay() is ActionDisplayInfo display)
    {
        <div class="row display window-container">
            <icon>@display.Icon</icon>

            <div class="subtitle">
                @display.Description
            </div>

            @if (display.Progress > 0f)
            {
                <div class="progress">
                    <div class="inner" style="width: @(display.Progress * 100)%">
                    </div>
                </div>
            }
        </div>
    }
    else
    {
        <div class="row display window-container">
            <icon>fitbit</icon>
            <div class="subtitle">Doing nothing</div>
        </div>
    }
</root>

@code
{
    public Agent Agent { get; set; }

    protected override int BuildHash() => System.HashCode.Combine( Time.Now );
}