diff --git a/src/ScadaLink.CentralUI/Components/Layout/NavMenu.razor b/src/ScadaLink.CentralUI/Components/Layout/NavMenu.razor
index 1c05b7e..5dc07e7 100644
--- a/src/ScadaLink.CentralUI/Components/Layout/NavMenu.razor
+++ b/src/ScadaLink.CentralUI/Components/Layout/NavMenu.razor
@@ -91,6 +91,19 @@
+ @* Site Calls — Site Call Audit (#22). Deployment-role only,
+ matching the Notification Report page's gate; the section
+ header sits inside the policy block so a non-Deployment
+ user does not see the heading. *@
+
| Tracked operation | +Source site | +Channel | +Target | +Status | +Retries | +Last error | +Created | +Updated | +Actions | +
|---|---|---|---|---|---|---|---|---|---|
@ShortId(c.TrackedOperationId) |
+ @SiteName(c.SourceSite) | +@c.Channel | +@c.Target | ++ @c.Status + @if (c.IsStuck) + { + Stuck + } + | +@c.RetryCount | +
+ @if (!string.IsNullOrEmpty(c.LastError))
+ {
+ @c.LastError
+ }
+ else
+ {
+ —
+ }
+ |
+ + @* The TrackedOperationId is the audit CorrelationId, so the + link deep-links into the central Audit Log pre-filtered to + this cached call's lifecycle events. *@ + + View audit history + + @* Retry/Discard relay only on Parked rows — central relays the + action to the owning site; Failed and other statuses are not + actionable from central. *@ + @if (c.Status == "Parked") + { + + + } + | +