From 324a9a5a6e7a3a3b26b5f159b58ad124079b1d68 Mon Sep 17 00:00:00 2001 From: "sentry[bot]" <39604003+sentry[bot]@users.noreply.github.com> Date: Fri, 4 Sep 2026 10:48:08 +0000 Subject: [PATCH] fix(billing): Guard against missing plan details in subscription header --- .../subscriptionPage/subscriptionHeader.tsx | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/static/gsApp/views/subscriptionPage/subscriptionHeader.tsx b/static/gsApp/views/subscriptionPage/subscriptionHeader.tsx index 4e39880cf0dc..2a3a7c6b1c45 100644 --- a/static/gsApp/views/subscriptionPage/subscriptionHeader.tsx +++ b/static/gsApp/views/subscriptionPage/subscriptionHeader.tsx @@ -33,7 +33,9 @@ export function SubscriptionHeader(props: Props) { const {subscription, organization} = props; const hasBillingPerms = hasPermissions(organization, 'org:billing'); const isDisabled = isDisabledByPartner(subscription); - const planIcon = getPlanIcon(subscription.planDetails); + const planIcon = subscription.planDetails + ? getPlanIcon(subscription.planDetails) + : null; return ( @@ -46,14 +48,16 @@ export function SubscriptionHeader(props: Props) { direction={{zero: 'column', xl: 'row'}} gap="xl" > - - {isValidElement(planIcon) - ? cloneElement(planIcon, {size: 'md'} as SVGIconProps) - : null} - - {tct('[planName] plan', {planName: subscription.planDetails.name})} - - + {subscription.planDetails && ( + + {isValidElement(planIcon) + ? cloneElement(planIcon, {size: 'md'} as SVGIconProps) + : null} + + {tct('[planName] plan', {planName: subscription.planDetails.name})} + + + )} {subscription.canSelfServe && hasBillingPerms && (