Salmon/Salmon.Web/Components/ElementCard.razor
2025-02-01 18:08:35 +01:00

41 lines
1.4 KiB
Plaintext

@inject Salmon.Core.Instance Salmon;
@if(Target is not null)
{
<Card Class="col-6" Style="width:18rem;margin:10px;">
<CardHeader>
<NavLink href=@($"Element/{System.Web.HttpUtility.UrlEncode(Target.UniqueId)}")>
<span class="oi oi-zoom-in" aria-hidden="true"></span>
</NavLink>
@Target.LastType
</CardHeader>
<CardBody>
<CardTitle>@Target.ShortName</CardTitle>
@if (!String.IsNullOrEmpty(Target.LongName))
{
<CardSubTitle>
@Target.LongName
</CardSubTitle>
}
<CardText>@Target.Description</CardText>
</CardBody>
<ul class="list-group list-group-flush">
@foreach (var kv in Target.ImportantProperties())
{
<li class="list-group-item">@kv.Key: @kv.Value</li>
}
<li class="list-group-item"><small>id: @Target.UniqueId</small></li>
</ul>
@if (Salmon.GetLastElementUpdate(Target.UniqueId) is not null)
{
<CardFooter>
<small class="text-muted">Last updated <i>@TimespanHelper.GetReadableTimespan(DateTime.Now - Salmon.GetLastElementUpdate(Target.UniqueId).Value)</i></small>
</CardFooter>
}
</Card>
}
@code {
[Parameter]
public Element? Target { get; set; }
}