Update pricing plan cards (#20614)
## Summary - Update pricing top-card bullets to use workflow credits, keep full customization, and show Organization-only features accurately. - Make custom AI models self-host Organization-only and move custom domain into the Cloud Organization card. - Align pricing comparison rows for row-level permissions, encryption key rotation, API call limits, custom domain availability, and self-host custom objects/fields. ## Validation - `lingui extract --overwrite --clean` - `lingui compile --typescript` - `node scripts/check-section-shape.mjs` - `git diff --check` - Playwright snapshot of `http://localhost:3002/pricing` --------- Co-authored-by: Charles Bochet <charles@twenty.com>
This commit is contained in:
co-authored by
Charles Bochet
parent
1d3d3999e2
commit
ce8ef261c1
@@ -153,6 +153,7 @@ export const PLAN_TABLE_DATA: PlanTableDataType = {
|
||||
type: 'row',
|
||||
},
|
||||
{
|
||||
appliesTo: 'selfHost',
|
||||
featureLabel: msg`Custom AI models`,
|
||||
tiers: {
|
||||
organization: { kind: 'yes', label: msg`Yes` },
|
||||
@@ -213,7 +214,7 @@ export const PLAN_TABLE_DATA: PlanTableDataType = {
|
||||
type: 'row',
|
||||
},
|
||||
{
|
||||
featureLabel: msg`Advanced Encryption`,
|
||||
featureLabel: msg`Encryption key rotation`,
|
||||
tiers: {
|
||||
organization: { kind: 'yes', label: msg`Yes` },
|
||||
pro: { kind: 'dash' },
|
||||
@@ -330,7 +331,7 @@ export const PLAN_TABLE_DATA: PlanTableDataType = {
|
||||
featureLabel: msg`Custom domain (crm.yourco.com)`,
|
||||
tiers: {
|
||||
organization: { kind: 'yes', label: msg`Yes` },
|
||||
pro: { kind: 'yes', label: msg`Yes` },
|
||||
pro: { kind: 'dash' },
|
||||
},
|
||||
type: 'row',
|
||||
},
|
||||
@@ -374,8 +375,8 @@ export const PLAN_TABLE_DATA: PlanTableDataType = {
|
||||
appliesTo: 'cloud',
|
||||
featureLabel: msg`API calls`,
|
||||
tiers: {
|
||||
organization: { kind: 'text', text: msg`200 per minute` },
|
||||
pro: { kind: 'text', text: msg`100 per minute` },
|
||||
organization: { kind: 'text', text: msg`100 per minute` },
|
||||
pro: { kind: 'text', text: msg`50 per minute` },
|
||||
},
|
||||
type: 'row',
|
||||
},
|
||||
|
||||
@@ -8,7 +8,7 @@ const PRO_BULLETS_MONTHLY = [
|
||||
msg`Full customization`,
|
||||
msg`Create custom apps`,
|
||||
msg`AI Agents with custom skills`,
|
||||
msg`Up to 5M automation credits/month`,
|
||||
msg`5 workflow credits/month included`,
|
||||
msg`Standard support`,
|
||||
];
|
||||
|
||||
@@ -16,7 +16,7 @@ const PRO_BULLETS_YEARLY = [
|
||||
msg`Full customization`,
|
||||
msg`Create custom apps`,
|
||||
msg`AI Agents with custom skills`,
|
||||
msg`Up to 50M automation credits/year`,
|
||||
msg`50 workflow credits/year included`,
|
||||
msg`Standard support`,
|
||||
];
|
||||
|
||||
@@ -28,24 +28,27 @@ const PRO_BULLETS_SELF_HOST = [
|
||||
|
||||
const ORGANIZATION_BULLETS_MONTHLY = [
|
||||
msg`Everything in Pro`,
|
||||
msg`Roles & Permissions`,
|
||||
msg`Row-level permissions`,
|
||||
msg`SAML/OIDC SSO`,
|
||||
msg`Custom domain`,
|
||||
msg`Priority support`,
|
||||
];
|
||||
|
||||
const ORGANIZATION_BULLETS_YEARLY = [
|
||||
msg`Everything in Pro`,
|
||||
msg`Roles & Permissions`,
|
||||
msg`Row-level permissions`,
|
||||
msg`SAML/OIDC SSO`,
|
||||
msg`Custom domain`,
|
||||
msg`Priority support`,
|
||||
];
|
||||
|
||||
const ORGANIZATION_BULLETS_SELF_HOST = [
|
||||
msg`Everything in Pro`,
|
||||
msg`Roles & Permissions`,
|
||||
msg`Custom AI models`,
|
||||
msg`Row-level permissions`,
|
||||
msg`SAML/OIDC SSO`,
|
||||
msg`Twenty team support`,
|
||||
msg`No open-source distribution requirement`,
|
||||
msg`Up to 5 workspaces`,
|
||||
];
|
||||
|
||||
export const PLANS_DATA = {
|
||||
|
||||
Reference in New Issue
Block a user