fix(telegram): surface callback ingress freshness
This commit is contained in:
@@ -2938,6 +2938,7 @@ function CallbackReplyAuditSummaryPanel({
|
||||
summary.inbound_callback_mirror_status ?? "no_callback_observed";
|
||||
const inboundStatusKey = (
|
||||
inboundStatusRaw === "capturing" ||
|
||||
inboundStatusRaw === "stale" ||
|
||||
inboundStatusRaw === "reply_only_gap" ||
|
||||
inboundStatusRaw === "no_callback_observed"
|
||||
) ? inboundStatusRaw : "observed";
|
||||
@@ -2946,6 +2947,8 @@ function CallbackReplyAuditSummaryPanel({
|
||||
"press_any_telegram_callback_after_rollout";
|
||||
const inboundNextActionKey = (
|
||||
inboundNextActionRaw === "none" ||
|
||||
inboundNextActionRaw ===
|
||||
"restore_callback_ingress_and_capture_fresh_receipt" ||
|
||||
inboundNextActionRaw === "press_any_telegram_callback_after_rollout"
|
||||
) ? inboundNextActionRaw : "observed";
|
||||
const traceRefAfterGapFirst = formatShortDateTime(
|
||||
@@ -2973,6 +2976,13 @@ function CallbackReplyAuditSummaryPanel({
|
||||
no_callback: "border-[#d8d3c7] bg-[#faf9f3] text-[#5f5b52]",
|
||||
observed: "border-[#9bb6d9] bg-[#eef5ff] text-[#1f5b9b]",
|
||||
}[snapshotStatus];
|
||||
const inboundClass = {
|
||||
capturing: "border-[#9bc7a4] bg-[#f0faf2] text-[#17602a]",
|
||||
stale: "border-[#d9b36f] bg-[#fff7e8] text-[#8a5a08]",
|
||||
reply_only_gap: "border-[#e2a29b] bg-[#fff0ef] text-[#9f2f25]",
|
||||
no_callback_observed: "border-[#d8d3c7] bg-[#faf9f3] text-[#5f5b52]",
|
||||
observed: "border-[#9bb6d9] bg-[#eef5ff] text-[#1f5b9b]",
|
||||
}[inboundStatusKey];
|
||||
|
||||
return (
|
||||
<div className="border-b border-[#e0ddd4]">
|
||||
@@ -2981,6 +2991,55 @@ function CallbackReplyAuditSummaryPanel({
|
||||
{t("operatorVerdictTitle")}
|
||||
</p>
|
||||
</div>
|
||||
<div className="border-b border-[#d7e2f3] bg-white px-4 py-3">
|
||||
<div className="flex flex-wrap items-center justify-between gap-2">
|
||||
<p className="text-xs font-semibold text-[#141413]">
|
||||
{t("inboundTitle")}
|
||||
</p>
|
||||
<span
|
||||
className={cn(
|
||||
"inline-flex border px-2 py-0.5 text-xs font-semibold",
|
||||
inboundClass
|
||||
)}
|
||||
>
|
||||
{t("inboundStatus", { status: inboundStatusLabel })}
|
||||
</span>
|
||||
</div>
|
||||
<div className="mt-3 grid gap-3 sm:grid-cols-2 xl:grid-cols-4">
|
||||
<div>
|
||||
<p className="text-[11px] font-semibold text-[#77736a]">
|
||||
{t("inboundTotal")}
|
||||
</p>
|
||||
<p className="mt-1 font-mono text-lg font-semibold text-[#141413]">
|
||||
{summary.inbound_callback_total ?? 0}
|
||||
</p>
|
||||
</div>
|
||||
<div>
|
||||
<p className="text-[11px] font-semibold text-[#77736a]">
|
||||
{t("inboundRecent24h")}
|
||||
</p>
|
||||
<p className="mt-1 font-mono text-lg font-semibold text-[#141413]">
|
||||
{summary.inbound_callback_recent_24h_total ?? 0}
|
||||
</p>
|
||||
</div>
|
||||
<div>
|
||||
<p className="text-[11px] font-semibold text-[#77736a]">
|
||||
{t("inboundLatest")}
|
||||
</p>
|
||||
<p className="mt-1 text-xs font-semibold leading-5 text-[#141413]">
|
||||
{latestInboundCallback}
|
||||
</p>
|
||||
</div>
|
||||
<div>
|
||||
<p className="text-[11px] font-semibold text-[#77736a]">
|
||||
{t("inboundNext")}
|
||||
</p>
|
||||
<p className="mt-1 text-xs font-semibold leading-5 text-[#141413]">
|
||||
{inboundNextActionLabel}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="grid gap-px bg-[#e0ddd4] md:grid-cols-2 xl:grid-cols-5">
|
||||
<div className="bg-white px-4 py-3">
|
||||
<p className="text-xs font-semibold text-[#77736a]">{t("outbound")}</p>
|
||||
|
||||
Reference in New Issue
Block a user