jetherald/JetHerald/Views/Dashboard/Index.cshtml
2024-05-02 15:57:57 +03:00

48 lines
1.9 KiB
Plaintext

@model DashboardViewModel
@Html.ValidationSummary(false, "", new {})
<a asp-controller="Topic" asp-action="Create" class="btn"> Create new topic</a>
<div class="clocks">
<div class="clock">@DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") @TimeZoneInfo.Local.StandardName</div>
</div>
<div class="topics-list">
@foreach (var ti in @Model.Topics)
{
<div class="topic-info">
<h3>@ti.Topic.Name</h3>
<div>
<span class="token-descr"> Read: </span><span class="token-field">@ti.Topic.ReadToken</span>
<span class="token-descr">Write: </span><span class="token-field">@ti.Topic.WriteToken</span>
</div>
@if (Model.User.TimeoutMultiplier > 0)
{
<div>
<meter min="0" high="50" max="100" value="@ti.Utilization">@ti.Utilization%</meter>
</div>
}@if (ti.Hearts.Any())
{
<table class="hearts-table">
<tr>
<th>Heart</th>
<th>Status</th>
<th>Last beat</th>
<th>Expires on</th>
</tr>
@foreach (var heart in @ti.Hearts)
{
<tr>
<td>@heart.Name</td>
<td>@heart.Status</td>
<td class="numeric">@DateTimeExt.GetReadableDate(heart.LastBeatTs.ToLocalTime(), DateTime.Now) @heart.LastBeatTs.ToLocalTime().ToString("HH:mm:ss")</td>
<td class="numeric">@DateTimeExt.GetReadableDate(heart.ExpiryTs.ToLocalTime(), DateTime.Now) @heart.ExpiryTs.ToLocalTime().ToString("HH:mm:ss")</td>
</tr>
}
</table>
}
else
{
<div>No active hearts</div>
}
</div>
}
</div>