diff --git a/src/components/organisms/AdminMessagingOverview/AdminMessagingOverview.tsx b/src/components/organisms/AdminMessagingOverview/AdminMessagingOverview.tsx index 53031e15..f7dce3e4 100644 --- a/src/components/organisms/AdminMessagingOverview/AdminMessagingOverview.tsx +++ b/src/components/organisms/AdminMessagingOverview/AdminMessagingOverview.tsx @@ -169,33 +169,42 @@ export function AdminMessagingOverview({ />

Top Senders

+ {/* See AdminPaymentPanel: the well needs a padded parent around the + scroller, not on it (#430). The comment lives ABOVE the ternary — + a `{comment}` between `? (` and its element is two root nodes and a + syntax error, which is exactly what it was a moment ago. */} {(trends.top_senders ?? []).length > 0 ? ( -
- - - - - - - - - {(trends.top_senders ?? []).map((s) => ( - - - +
+
+
UserMessages
-
- {s.display_name ?? s.username ?? 'N/A'} -
- {s.username && s.display_name && ( -
- @{s.username} -
- )} -
{s.messages}
+ + + + - ))} - -
UserMessages
+ + + {(trends.top_senders ?? []).map((s) => ( + + +
+ {s.display_name ?? s.username ?? 'N/A'} +
+ {s.username && s.display_name && ( +
+ @{s.username} +
+ )} + + {s.messages} + + ))} + + +
) : (

-

- - - - - - - - - - - - - {(trends.provider_breakdown ?? []).map((p) => { - const flagged = failureShare(p) > FAILURE_FLAG_THRESHOLD; - return ( - - - - - - - - - ); - })} - {(trends.provider_breakdown ?? []).length === 0 && ( + {/* The scroller is WRAPPED, not replaced (#430). `sh-well` paints an + inset shadow BELOW its children, so it needs a padded parent — put it + on the `overflow-x-auto` div itself and the shadow is clipped by the + scroller and hidden under the table. */} +
+
+
ProviderSucceededFailedRefundedRevenueHealth
{p.provider}{p.succeeded}{p.failed}{p.refunded}{formatCents(p.revenue_cents)} - {flagged ? ( - - Elevated failures - - ) : ( - OK - )} -
+ - + + + + + + - )} - -
- No activity in this range - ProviderSucceededFailedRefundedRevenueHealth
+ + + {(trends.provider_breakdown ?? []).map((p) => { + const flagged = failureShare(p) > FAILURE_FLAG_THRESHOLD; + return ( + + {p.provider} + {p.succeeded} + {p.failed} + {p.refunded} + {formatCents(p.revenue_cents)} + + {flagged ? ( + + Elevated failures + + ) : ( + OK + )} + + + ); + })} + {(trends.provider_breakdown ?? []).length === 0 && ( + + + No activity in this range + + + )} + + +
)}