< Summary

Information
Class: Pomodoro.Web.Components.TaskItemComponent
Assembly: Pomodoro.Web
File(s): /home/runner/work/Pomodoro/Pomodoro/src/Pomodoro.Web/Components/TaskItemComponent.razor
Line coverage
100%
Covered lines: 12
Uncovered lines: 0
Coverable lines: 12
Total lines: 28
Line coverage: 100%
Branch coverage
100%
Covered branches: 6
Total branches: 6
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
BuildRenderTree(...)100%66100%

File(s)

/home/runner/work/Pomodoro/Pomodoro/src/Pomodoro.Web/Components/TaskItemComponent.razor

#LineLine coverage
 1@inherits TaskItemBase
 2@using Pomodoro.Web.Models
 3
 4<div class="task-item @GetTaskClass()" @onclick="HandleSelect" role="button" tabindex="0" @onkeydown="HandleKeyDown">
 5    <div class="task-header">
 666        <span class="task-status">@GetStatusIcon()</span>
 667        <span class="task-name @(Item.IsCompleted ? "completed" : "")">@Item.Name</span>
 8        <div class="task-actions">
 669            @if (Item.IsCompleted)
 1310            {
 11                <button class="btn-icon" @onclick="HandleUncomplete" @onclick:stopPropagation="true" title="Undo">↩</but
 1312            }
 13            else
 5314            {
 15                <button class="btn-icon" @onclick="HandleComplete" @onclick:stopPropagation="true" title="Complete">✓</b
 5316            }
 17            <button class="btn-icon delete" @onclick="HandleDelete" @onclick:stopPropagation="true" title="Delete">🗑</b
 18        </div>
 19    </div>
 20    <div class="task-stats">
 6621        <span class="stat">⏱️ @FormatTime(Item.TotalFocusMinutes)</span>
 6622        <span class="stat">🍅 @Item.PomodoroCount</span>
 6623        @if (IsSelected)
 624        {
 25            <span class="stat selected-badge">Selected ●</span>
 626        }
 27    </div>
 28</div>