@@ -300,12 +300,16 @@ export function Subscription() {
300300 )
301301
302302 const showBadge =
303- ( permissions . canEditUsageLimit && ! permissions . showTeamMemberView ) ||
304- permissions . showTeamMemberView ||
305- subscription . isEnterprise ||
306- isBlocked
303+ ! permissions . isEnterpriseMember &&
304+ ( ( permissions . canEditUsageLimit && ! permissions . showTeamMemberView ) ||
305+ permissions . showTeamMemberView ||
306+ subscription . isEnterprise ||
307+ isBlocked )
307308
308309 const getBadgeConfig = ( ) : { text : string ; variant : 'blue-secondary' | 'red' } => {
310+ if ( permissions . isEnterpriseMember ) {
311+ return { text : '' , variant : 'blue-secondary' }
312+ }
309313 if ( permissions . showTeamMemberView || subscription . isEnterprise ) {
310314 return { text : `${ subscription . seats } seats` , variant : 'blue-secondary' }
311315 }
@@ -443,67 +447,75 @@ export function Subscription() {
443447
444448 return (
445449 < div className = 'flex h-full flex-col gap-[20px]' >
446- { /* Current Plan & Usage Overview */ }
447- < UsageHeader
448- title = { formatPlanName ( subscription . plan ) }
449- showBadge = { showBadge }
450- badgeText = { badgeConfig . text }
451- badgeVariant = { badgeConfig . variant }
452- onBadgeClick = { permissions . showTeamMemberView ? undefined : handleBadgeClick }
453- seatsText = {
454- permissions . canManageTeam || subscription . isEnterprise
455- ? `${ subscription . seats } seats`
456- : undefined
457- }
458- current = { usage . current }
459- limit = {
460- subscription . isEnterprise || subscription . isTeam
461- ? organizationBillingData ?. data ?. totalUsageLimit
462- : ! subscription . isFree &&
463- ( permissions . canEditUsageLimit || permissions . showTeamMemberView )
464- ? usage . current // placeholder; rightContent will render UsageLimit
465- : usage . limit
466- }
467- isBlocked = { isBlocked }
468- progressValue = { Math . min ( usage . percentUsed , 100 ) }
469- rightContent = {
470- ! subscription . isFree &&
471- ( permissions . canEditUsageLimit || permissions . showTeamMemberView ) ? (
472- < UsageLimit
473- ref = { usageLimitRef }
474- currentLimit = {
475- ( subscription . isTeam || subscription . isEnterprise ) &&
476- isTeamAdmin &&
477- organizationBillingData ?. data
478- ? organizationBillingData . data . totalUsageLimit
479- : usageLimitData . currentLimit || usage . limit
480- }
481- currentUsage = { usage . current }
482- canEdit = { permissions . canEditUsageLimit }
483- minimumLimit = {
484- ( subscription . isTeam || subscription . isEnterprise ) &&
485- isTeamAdmin &&
486- organizationBillingData ?. data
487- ? organizationBillingData . data . minimumBillingAmount
488- : usageLimitData . minimumLimit || ( subscription . isPro ? 20 : 40 )
489- }
490- context = {
491- ( subscription . isTeam || subscription . isEnterprise ) && isTeamAdmin
492- ? 'organization'
493- : 'user'
494- }
495- organizationId = {
496- ( subscription . isTeam || subscription . isEnterprise ) && isTeamAdmin
497- ? activeOrgId
498- : undefined
499- }
500- onLimitUpdated = { ( ) => {
501- logger . info ( 'Usage limit updated' )
502- } }
503- />
504- ) : undefined
505- }
506- />
450+ { /* Current Plan & Usage Overview - hidden from enterprise members (non-admin) */ }
451+ { permissions . canViewUsageInfo ? (
452+ < UsageHeader
453+ title = { formatPlanName ( subscription . plan ) }
454+ showBadge = { showBadge }
455+ badgeText = { badgeConfig . text }
456+ badgeVariant = { badgeConfig . variant }
457+ onBadgeClick = { permissions . showTeamMemberView ? undefined : handleBadgeClick }
458+ seatsText = {
459+ permissions . canManageTeam || subscription . isEnterprise
460+ ? `${ subscription . seats } seats`
461+ : undefined
462+ }
463+ current = { usage . current }
464+ limit = {
465+ subscription . isEnterprise || subscription . isTeam
466+ ? organizationBillingData ?. data ?. totalUsageLimit
467+ : ! subscription . isFree &&
468+ ( permissions . canEditUsageLimit || permissions . showTeamMemberView )
469+ ? usage . current // placeholder; rightContent will render UsageLimit
470+ : usage . limit
471+ }
472+ isBlocked = { isBlocked }
473+ progressValue = { Math . min ( usage . percentUsed , 100 ) }
474+ rightContent = {
475+ ! subscription . isFree &&
476+ ( permissions . canEditUsageLimit || permissions . showTeamMemberView ) ? (
477+ < UsageLimit
478+ ref = { usageLimitRef }
479+ currentLimit = {
480+ ( subscription . isTeam || subscription . isEnterprise ) &&
481+ isTeamAdmin &&
482+ organizationBillingData ?. data
483+ ? organizationBillingData . data . totalUsageLimit
484+ : usageLimitData . currentLimit || usage . limit
485+ }
486+ currentUsage = { usage . current }
487+ canEdit = { permissions . canEditUsageLimit }
488+ minimumLimit = {
489+ ( subscription . isTeam || subscription . isEnterprise ) &&
490+ isTeamAdmin &&
491+ organizationBillingData ?. data
492+ ? organizationBillingData . data . minimumBillingAmount
493+ : usageLimitData . minimumLimit || ( subscription . isPro ? 20 : 40 )
494+ }
495+ context = {
496+ ( subscription . isTeam || subscription . isEnterprise ) && isTeamAdmin
497+ ? 'organization'
498+ : 'user'
499+ }
500+ organizationId = {
501+ ( subscription . isTeam || subscription . isEnterprise ) && isTeamAdmin
502+ ? activeOrgId
503+ : undefined
504+ }
505+ onLimitUpdated = { ( ) => {
506+ logger . info ( 'Usage limit updated' )
507+ } }
508+ />
509+ ) : undefined
510+ }
511+ />
512+ ) : (
513+ < div className = 'flex items-center' >
514+ < span className = 'font-medium text-[14px] text-[var(--text-primary)]' >
515+ { formatPlanName ( subscription . plan ) }
516+ </ span >
517+ </ div >
518+ ) }
507519
508520 { /* Upgrade Plans */ }
509521 { permissions . showUpgradePlans && (
@@ -539,8 +551,8 @@ export function Subscription() {
539551 </ div >
540552 ) }
541553
542- { /* Credit Balance */ }
543- { subscription . isPaid && (
554+ { /* Credit Balance - hidden from enterprise members (non-admin) */ }
555+ { subscription . isPaid && permissions . canViewUsageInfo && (
544556 < CreditBalance
545557 balance = { subscriptionData ?. data ?. creditBalance ?? 0 }
546558 canPurchase = { permissions . canEditUsageLimit }
@@ -554,10 +566,11 @@ export function Subscription() {
554566 < ReferralCode onRedeemComplete = { ( ) => refetchSubscription ( ) } />
555567 ) }
556568
557- { /* Next Billing Date - hidden from team members */ }
569+ { /* Next Billing Date - hidden from team members and enterprise members (non-admin) */ }
558570 { subscription . isPaid &&
559571 subscriptionData ?. data ?. periodEnd &&
560- ! permissions . showTeamMemberView && (
572+ ! permissions . showTeamMemberView &&
573+ ! permissions . isEnterpriseMember && (
561574 < div className = 'flex items-center justify-between' >
562575 < Label > Next Billing Date</ Label >
563576 < span className = 'text-[12px] text-[var(--text-secondary)]' >
@@ -566,8 +579,8 @@ export function Subscription() {
566579 </ div >
567580 ) }
568581
569- { /* Usage notifications */ }
570- { subscription . isPaid && < BillingUsageNotificationsToggle /> }
582+ { /* Usage notifications - hidden from enterprise members (non-admin) */ }
583+ { subscription . isPaid && permissions . canViewUsageInfo && < BillingUsageNotificationsToggle /> }
571584
572585 { /* Cancel Subscription */ }
573586 { permissions . canCancelSubscription && (
0 commit comments