< Summary

Information
Class: UIBlazor.Components.UsageIndicators
Assembly: UIBlazor
File(s): /home/runner/work/InvAit/InvAit/UIBlazor/Components/UsageIndicators.razor
Tag: 71_26091983037
Line coverage
0%
Covered lines: 0
Uncovered lines: 14
Coverable lines: 14
Total lines: 38
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 14
Branch coverage: 0%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
BuildRenderTree(...)0%110100%
get_ProfileManager()100%210%
get_ChatService()100%210%
get_Messages()100%210%
get_MessageProgress()0%620%
get_TokenProgress()0%620%

File(s)

/home/runner/work/InvAit/InvAit/UIBlazor/Components/UsageIndicators.razor

#LineLine coverage
 1<div class="usage-indicators">
 02    @if (ProfileManager.ActiveProfile.TokensToCompress > 0)
 3    {
 4        <div class="usage-item" title="@SharedResource.CompressionTokenThreshold: @(ChatService.Session?.TotalTokens ?? 
 5            <div class="usage-label">
 06                <span>@SharedResource.CompressionTokenThreshold</span>
 07                <span>@(ChatService.Session?.TotalTokens ?? 0) / @ProfileManager.ActiveProfile.TokensToCompress</span>
 8            </div>
 9            <div class="usage-bar-container">
 10                <div class="usage-bar" style="width: @(MessageProgress)%;"></div>
 11            </div>
 12        </div>
 13    }
 14    <div class="usage-item" title="@SharedResource.ContextWindow: @ChatService.Session?.TotalTokens / @ProfileManager.Ac
 15        <div class="usage-label">
 016            <span>@SharedResource.ContextWindow</span>
 017            <span>@(ChatService.Session?.TotalTokens ?? 0) / @ProfileManager.ActiveProfile.ContextWindow</span>
 18        </div>
 19        <div class="usage-bar-container">
 20            <div class="usage-bar" style="width: @(TokenProgress)%; background: var(--rz-secondary);"></div>
 21        </div>
 22    </div>
 23</div>
 24
 25@code {
 026    [Inject] IProfileManager ProfileManager { get; set; } = null!;
 027    [Inject] IChatService ChatService { get; set; } = null!;
 28
 029    [Parameter] public List<VisualChatMessage> Messages { get; set; } = [];
 30
 031    private int MessageProgress => ProfileManager.ActiveProfile.TokensToCompress > 0
 032        ? Math.Min(100, ChatService.Session.TotalTokens * 100 / ProfileManager.ActiveProfile.TokensToCompress)
 033        : 0;
 34
 035    private int TokenProgress => ProfileManager.ActiveProfile.ContextWindow > 0
 036        ? Math.Min(100, ChatService.Session.TotalTokens * 100 / ProfileManager.ActiveProfile.ContextWindow)
 037        : 0;
 38}