isClickable && setIsHovered(true)}
- onMouseLeave={() => isClickable && setIsHovered(false)}
- isClickable={isClickable}
+ onMouseEnter={() => setIsHovered(true)}
+ onMouseLeave={() => setIsHovered(false)}
isSelected={isSelected}
- onClick={() => (isClickable ? onRowClick(product) : undefined)}
+ onClick={() => onRowClick(product)}
onKeyDown={e => {
- if ((e.key === 'Enter' || e.key === ' ') && isClickable) {
+ if (e.key === 'Enter' || e.key === ' ') {
onRowClick(product);
}
}}
@@ -197,10 +206,10 @@ function UsageOverviewTableRow({
|
{usageExceeded ? (
-
+
+
+
) : isPaygOnly || isChildProduct || isUnlimited ? null : (
-
+
+
+
)}
- {isPaygOnly || isChildProduct || !formattedPrepaid
- ? formattedUsage
- : `${formattedUsage} / ${formattedPrepaid}`}
+ {isUnlimited ? (
+ {t('Unlimited')}
+ ) : isPaygOnly || isChildProduct || !formattedPrepaid ? (
+ formattedUsage
+ ) : (
+ `${formattedUsage} / ${formattedPrepaid}`
+ )}
+ {formattedFree && ` (${formattedFree} gifted)`}
|
@@ -268,7 +287,7 @@ function UsageOverviewTableRow({
export default UsageOverviewTableRow;
-const Row = styled('tr')<{isClickable: boolean; isSelected: boolean}>`
+const Row = styled('tr')<{isSelected: boolean}>`
position: relative;
background: ${p => (p.isSelected ? p.theme.backgroundSecondary : p.theme.background)};
padding: ${p => p.theme.space.xl};
@@ -282,17 +301,9 @@ const Row = styled('tr')<{isClickable: boolean; isSelected: boolean}>`
border-radius: 0 0 ${p => p.theme.borderRadius} ${p => p.theme.borderRadius};
}
- cursor: default;
-
- ${p =>
- p.isClickable &&
- css`
- cursor: pointer;
-
- &:hover {
- background: ${p.theme.backgroundSecondary};
- }
- `}
+ &:hover {
+ background: ${p => p.theme.backgroundSecondary};
+ }
`;
const MobilePanelContainer = styled('td')`
diff --git a/static/gsApp/views/subscriptionPage/usageOverview/components/upgradeOrTrialCta.tsx b/static/gsApp/views/subscriptionPage/usageOverview/components/upgradeOrTrialCta.tsx
index 69df6962d2a95d..14e8409b387d14 100644
--- a/static/gsApp/views/subscriptionPage/usageOverview/components/upgradeOrTrialCta.tsx
+++ b/static/gsApp/views/subscriptionPage/usageOverview/components/upgradeOrTrialCta.tsx
@@ -1,16 +1,14 @@
import {Fragment, useState} from 'react';
import {LinkButton} from '@sentry/scraps/button/linkButton';
-import {Flex, Grid} from '@sentry/scraps/layout';
+import {Container, Flex} from '@sentry/scraps/layout';
import {Text} from '@sentry/scraps/text';
-import {IconLightning, IconOpen} from 'sentry/icons';
+import {IconLightning, IconLock, IconOpen} from 'sentry/icons';
import {t, tct} from 'sentry/locale';
import {DataCategory} from 'sentry/types/core';
import type {Organization} from 'sentry/types/organization';
import {toTitleCase} from 'sentry/utils/string/toTitleCase';
-import {useNavContext} from 'sentry/views/nav/context';
-import {NavLayout} from 'sentry/views/nav/types';
import StartTrialButton from 'getsentry/components/startTrialButton';
import {
@@ -23,6 +21,7 @@ import {checkIsAddOn, getBilledCategory} from 'getsentry/utils/billing';
import {getPlanCategoryName} from 'getsentry/utils/dataCategory';
function Cta({
+ icon,
title,
subtitle,
buttons,
@@ -32,40 +31,39 @@ function Cta({
subtitle: React.ReactNode;
title: React.ReactNode;
buttons?: React.ReactNode;
+ icon?: React.ReactNode;
}) {
- const {isCollapsed: navIsCollapsed, layout: navLayout} = useNavContext();
- const isMobile = navLayout === NavLayout.MOBILE;
-
return (
-
-
-
+
+ {icon && (
+
+ {icon}
+
+ )}
+
{title}
-
- {subtitle}
-
+
+
+ {subtitle}
+
+
{buttons && (
-
+
{buttons}
)}
-
+