@inherits LocalizableComponentBase @* The federation ledger's events, newest first (ViewInteractionEvent): what was received, delivered or fetched and how it ended, never who. Channels and outcomes show as the ledger keys them, like the statistics' counters. In the statistics' Events section and in a server's detail. *@ @Localizer["When"] @if (ShowHost) { @Localizer["server"] } @Localizer["Channel"] @Localizer["Activity"] @Localizer["Outcome"] @Localizer["Reason"] HTTP ms @foreach (var happened in Events) { @happened.At.ToLocalTime().ToString(SUtility.dateTimeFormatExt) @if (ShowHost) { @happened.Host } @happened.Channel @happened.Activity @happened.Outcome @happened.Reason @happened.Status @happened.LatencyMs } @code { [Parameter, EditorRequired] public List Events { get; set; } = []; /// A column for the server, where the events are of many. [Parameter] public bool ShowHost { get; set; } = true; protected override void OnInitialized() => IsLoading = false; static DColor OutcomeColor(string outcome) => outcome switch { "ok" or "accepted" => DColor.Success, "queued" or "deferred" or "retry" => DColor.Warning, "failed" or "dead" or "refused" or "rejected" or "dropped" => DColor.Error, _ => DColor.None }; }