jetherald/JetHerald/Views/Dashboard/Index.cshtml
2022-05-17 15:05:06 +03:00

44 lines
1.8 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 topic in @Model.Topics)
{
<div class="topic-info">
<h3>@topic.Name</h3>
<div>
<span class="token-descr"> Read: </span><span class="token-field">@topic.ReadToken</span>
<span class="token-descr">Write: </span><span class="token-field">@topic.WriteToken</span>
</div>
@if (@Model.Hearts.Contains(topic.TopicId))
{
<table class="hearts-table">
<tr>
<th>Heart</th>
<th>Status</th>
<th>Last beat</th>
<th>Expires on</th>
</tr>
@foreach (var heart in @Model.Hearts[topic.TopicId])
{
<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>