diff --git a/frontend/common/utils/utils.tsx b/frontend/common/utils/utils.tsx index e6b8c79e4bd7..527ee34d1df9 100644 --- a/frontend/common/utils/utils.tsx +++ b/frontend/common/utils/utils.tsx @@ -397,17 +397,20 @@ const Utils = Object.assign({}, BaseUtils, { return EnvironmentPermissionDescriptions.UPDATE_FEATURE_STATE }, - getNextPlan: (skipFree?: boolean) => { + getNextPlan: () => { const currentPlan = Utils.getPlanName(AccountStore.getActiveOrgPlan()) if (currentPlan !== planNames.enterprise && !Utils.isSaas()) { return planNames.enterprise } switch (currentPlan) { case planNames.free: { - return skipFree ? planNames.startup : planNames.scaleUp + return planNames.startup } case planNames.startup: { - return planNames.startup + return planNames.scaleUp + } + case planNames.scaleUp: { + return planNames.enterprise } default: { return planNames.enterprise diff --git a/frontend/env/project_dev.js b/frontend/env/project_dev.js index 0f5a5fc96b24..e7274ff27f08 100644 --- a/frontend/env/project_dev.js +++ b/frontend/env/project_dev.js @@ -17,8 +17,8 @@ const Project = { // This is used for Sentry tracking maintenance: false, plans: { - scaleUp: { annual: 'scale-up-annual-v2', monthly: 'scale-up-v2' }, - startup: { annual: 'startup-annual-v2', monthly: 'startup-v2' }, + scaleUp: { annual: 'Scale-Up-v4-USD-Yearly', monthly: 'Scale-Up-v4-USD-Monthly' }, + startup: { annual: 'start-up-12-months-v2', monthly: 'startup-v2' }, }, useSecureCookies: true, ...(_globalThis.projectOverrides || {}), diff --git a/frontend/env/project_local.js b/frontend/env/project_local.js index e36f3b68b199..ad5f40644487 100644 --- a/frontend/env/project_local.js +++ b/frontend/env/project_local.js @@ -17,9 +17,10 @@ const Project = { // This is used for Sentry tracking maintenance: false, plans: { - scaleUp: { annual: 'scale-up-annual-v2', monthly: 'scale-up-v2' }, - startup: { annual: 'startup-annual-v2', monthly: 'startup-v2' }, + scaleUp: { annual: 'Scale-Up-v4-USD-Yearly', monthly: 'Scale-Up-v4-USD-Monthly' }, + startup: { annual: 'start-up-12-months-v2', monthly: 'startup-v2' }, }, + cookieSameSite: 'lax', useSecureCookies: false, ...(_globalThis.projectOverrides || {}), } diff --git a/frontend/env/project_prod.js b/frontend/env/project_prod.js index 4747c51e9aa7..c1e3306f8103 100644 --- a/frontend/env/project_prod.js +++ b/frontend/env/project_prod.js @@ -27,7 +27,7 @@ const Project = { // This is used for Sentry tracking maintenance: false, plans: { - scaleUp: { annual: 'scale-up-12-months-v2', monthly: 'scale-up-v2' }, + scaleUp: { annual: 'Scale-Up-v4-USD-Yearly', monthly: 'Scale-Up-v4-USD-Monthly' }, startup: { annual: 'start-up-12-months-v2', monthly: 'startup-v2' }, }, useSecureCookies: true, diff --git a/frontend/web/components/modals/payment/Payment.tsx b/frontend/web/components/modals/payment/Payment.tsx index 20eeb53cd049..9e914e620c69 100644 --- a/frontend/web/components/modals/payment/Payment.tsx +++ b/frontend/web/components/modals/payment/Payment.tsx @@ -5,7 +5,11 @@ import BlockedOrgInfo from 'components/BlockedOrgInfo' import { Organisation } from 'common/types/responses' import { PricingToggle } from './PricingToggle' import { PricingPanel } from './PricingPanel' -import { STARTUP_FEATURES, ENTERPRISE_FEATURES } from './pricingFeatures' +import { + STARTUP_FEATURES, + SCALE_UP_FEATURES, + ENTERPRISE_FEATURES, +} from './pricingFeatures' import { CHARGEBEE_SCRIPT_URL, CONTACT_US_URL, @@ -104,6 +108,27 @@ export const Payment: FC = ({ organisationId={organisation.id} /> + + = ({ } /> -
- *Need something in-between our Enterprise plan for users or API - limits? -
- Reach out to us and we'll help you out -
-
) diff --git a/frontend/web/components/modals/payment/PricingPanel.tsx b/frontend/web/components/modals/payment/PricingPanel.tsx index 8e8da888030f..f029f79cc951 100644 --- a/frontend/web/components/modals/payment/PricingPanel.tsx +++ b/frontend/web/components/modals/payment/PricingPanel.tsx @@ -11,6 +11,10 @@ export type PricingPanelProps = { title: string priceMonthly?: string priceYearly?: string + seatPriceMonthly?: string + seatPriceYearly?: string + includesFrom?: string + isFeatured?: boolean isYearly: boolean chargebeePlanId?: string isPurchased?: boolean @@ -27,13 +31,17 @@ export const PricingPanel = ({ features, hasActiveSubscription, headerContent, + includesFrom, isDisableAccount, isEnterprise, + isFeatured, isPurchased, isYearly, organisationId, priceMonthly, priceYearly, + seatPriceMonthly, + seatPriceYearly, title, }: PricingPanelProps) => { return ( @@ -46,6 +54,11 @@ export const PricingPanel = ({
+ {isFeatured && ( + + Most Popular + + )} {headerContent && ( )} + {(seatPriceMonthly || seatPriceYearly) && ( +
+ + ${isYearly ? seatPriceYearly : seatPriceMonthly}/seat +
+ )} + {isEnterprise && (
@@ -125,7 +144,7 @@ export const PricingPanel = ({ > All from{' '} - {isEnterprise ? 'Start-Up,' : 'Free,'} + {includesFrom ?? (isEnterprise ? 'Scale-Up' : 'Free')}, {' '} plus diff --git a/frontend/web/components/modals/payment/pricingFeatures.tsx b/frontend/web/components/modals/payment/pricingFeatures.tsx index b7e2a85b9719..a5259256bf86 100644 --- a/frontend/web/components/modals/payment/pricingFeatures.tsx +++ b/frontend/web/components/modals/payment/pricingFeatures.tsx @@ -30,6 +30,33 @@ export const STARTUP_FEATURES: PricingFeature[] = [ }, ] +export const SCALE_UP_FEATURES: PricingFeature[] = [ + { + text: ( + <> + Up to + 5,000,000 Requests per month + + ), + }, + { + text: ( + <> + Up to 20 Team members + + ), + }, + { + text: 'User roles and permissions', + }, + { + text: 'Change requests', + }, + { + text: 'Audit logs', + }, +] + export const ENTERPRISE_FEATURES: PricingFeature[] = [ { text: ( diff --git a/frontend/web/components/pages/UsersAndPermissionsPage.tsx b/frontend/web/components/pages/UsersAndPermissionsPage.tsx index 773238ce349a..e958bd489964 100644 --- a/frontend/web/components/pages/UsersAndPermissionsPage.tsx +++ b/frontend/web/components/pages/UsersAndPermissionsPage.tsx @@ -280,7 +280,7 @@ const UsersAndPermissionsInner: FC = ({ ) : ( You will automatically be charged - $20/month for each additional member that + $60/month for each additional member that joins your organisation. )} diff --git a/frontend/web/components/pages/organisation-settings/tabs/BillingTab.tsx b/frontend/web/components/pages/organisation-settings/tabs/BillingTab.tsx index a656e4f297a8..75b7e78002e8 100644 --- a/frontend/web/components/pages/organisation-settings/tabs/BillingTab.tsx +++ b/frontend/web/components/pages/organisation-settings/tabs/BillingTab.tsx @@ -2,8 +2,8 @@ import React from 'react' import { Organisation } from 'common/types/responses' import Icon from 'components/icons/Icon' import Utils from 'common/utils/utils' -import PaymentLegacy from 'components/modals/Payment' -import PaymentNew from 'components/modals/payment' +import PaymentLegacy from 'components/modals/Payment.js' +import { Payment as PaymentNew } from 'components/modals/payment/Payment' import { useGetSubscriptionMetadataQuery } from 'common/services/useSubscriptionMetadata' import StatItem, { StatItemProps } from 'components/StatItem'