Skip to content

Commit

Permalink
Trail Map: Add new trail map features (#89927)
Browse files Browse the repository at this point in the history
* Add new trail map features

* Add sub features:

* Change datastructure of sublist
  • Loading branch information
ddc22 authored and pull[bot] committed May 3, 2024
1 parent 848ec81 commit 7814855
Show file tree
Hide file tree
Showing 3 changed files with 122 additions and 1 deletion.
19 changes: 19 additions & 0 deletions packages/calypso-products/src/constants/features.ts
Original file line number Diff line number Diff line change
Expand Up @@ -491,3 +491,22 @@ export const FEATURE_TYPE_JETPACK_SCAN = 'jetpack_scan';
export const FEATURE_TYPE_JETPACK_SEARCH = 'jetpack_search';
export const FEATURE_TYPE_JETPACK_STATS = 'jetpack_stats';
export const FEATURE_TYPE_JETPACK_VIDEOPRESS = 'jetpack_videopress';

//Trail Map Specific new features
export const FEATURE_PRE_INSTALLED_ECOMMERCE_PLUGINS = 'pre_installed_ecommerce_plugins';
export const FEATURE_20_PREMIUM_THEMES = '20_premium_themes';
export const FEATURE_48_PREMIUM_THEMES = '48_premium_themes';
export const FEATURE_AD_SUPPORTED_EXPERIENCE = 'ad_experience';
export const FEATURE_REAL_TIME_STATS = 'real_time_stats';
export const FEATURE_AUTOMATED_BURST_SCALING = 'automated_burst_scaling';
export const FEATURE_DATABASE_ACCESS = 'database_access';
export const FEATURE_DEVELOPER_TOOLS = 'developer_tools';
export const FEATURE_DYNAMIC_PRODUCT_UPSELLS = 'dynamic_product_upsells';
export const FEATURE_FREE_MIGRATIONS = 'free_migrations';
export const FEATURE_FULL_DATA_CENTER_REDUNDANCIES = 'full_data_center_redundancies';
export const FEATURE_GITHUB_DEPLOYMENTS = 'github_deployments';
export const FEATURE_HELP_CENTER_SUPPORT = 'help_center_support';
export const FEATURE_LIMITED_STATS = 'limited_stats';
export const FEATURE_LOCAL_DEVELOPMENT_ENVIRONMENT = 'local_development_environment';
export const FEATURE_PRE_INSTALLED_SECURITY_PERF_PLUGINS = 'pre_installed_security_perf_plugins';
export const FEATURE_WEB_SERVER_SETTINGS = 'web_server_settings';
103 changes: 102 additions & 1 deletion packages/calypso-products/src/features-list.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -319,6 +319,23 @@ import {
FEATURE_SEAMLESS_STAGING_PRODUCTION_SYNCING,
FEATURE_SECURITY_VULNERABILITY_NOTIFICATIONS,
FEATURE_WOOCOMMERCE_HOSTING,
FEATURE_PRE_INSTALLED_ECOMMERCE_PLUGINS,
FEATURE_20_PREMIUM_THEMES,
FEATURE_48_PREMIUM_THEMES,
FEATURE_AD_SUPPORTED_EXPERIENCE,
FEATURE_REAL_TIME_STATS,
FEATURE_AUTOMATED_BURST_SCALING,
FEATURE_DATABASE_ACCESS,
FEATURE_DEVELOPER_TOOLS,
FEATURE_DYNAMIC_PRODUCT_UPSELLS,
FEATURE_FREE_MIGRATIONS,
FEATURE_FULL_DATA_CENTER_REDUNDANCIES,
FEATURE_GITHUB_DEPLOYMENTS,
FEATURE_HELP_CENTER_SUPPORT,
FEATURE_LIMITED_STATS,
FEATURE_LOCAL_DEVELOPMENT_ENVIRONMENT,
FEATURE_PRE_INSTALLED_SECURITY_PERF_PLUGINS,
FEATURE_WEB_SERVER_SETTINGS,
} from './constants';
import {
isPersonalPlan,
Expand Down Expand Up @@ -366,7 +383,7 @@ const getTransactionFeeCopy = ( commission = 0, variation = '' ) => {
}
};

export const FEATURES_LIST: FeatureList = {
const FEATURES_LIST: FeatureList = {
[ FEATURE_BLANK ]: {
getSlug: () => FEATURE_BLANK,
getTitle: () => '',
Expand Down Expand Up @@ -2767,4 +2784,88 @@ export const FEATURES_LIST: FeatureList = {
getTitle: () => i18n.translate( 'Advanced Jetpack features' ),
},
/* END: Sensei Features */

/* Start: Trail Map new Features */
[ FEATURE_PRE_INSTALLED_ECOMMERCE_PLUGINS ]: {
getSlug: () => FEATURE_PRE_INSTALLED_ECOMMERCE_PLUGINS,
getTitle: () => i18n.translate( '25+ pre-installed ecommerce plugins ($1,500/year value)' ),
},
[ FEATURE_20_PREMIUM_THEMES ]: {
getSlug: () => FEATURE_20_PREMIUM_THEMES,
getTitle: () => i18n.translate( '20 premium themes' ),
},
[ FEATURE_48_PREMIUM_THEMES ]: {
getSlug: () => FEATURE_48_PREMIUM_THEMES,
getTitle: () => i18n.translate( '48 premium themes' ),
},
[ FEATURE_AD_SUPPORTED_EXPERIENCE ]: {
getSlug: () => FEATURE_AD_SUPPORTED_EXPERIENCE,
getTitle: () => i18n.translate( 'Ad-supported experience' ),
},
[ FEATURE_REAL_TIME_STATS ]: {
getSlug: () => FEATURE_REAL_TIME_STATS,
getTitle: () => i18n.translate( 'Advanced Real Time stats' ),
},
[ FEATURE_AUTOMATED_BURST_SCALING ]: {
getSlug: () => FEATURE_AUTOMATED_BURST_SCALING,
getTitle: () => i18n.translate( 'Automated burst scaling' ),
},
[ FEATURE_DATABASE_ACCESS ]: {
getSlug: () => FEATURE_DATABASE_ACCESS,
getTitle: () => i18n.translate( 'Database Access' ),
},
[ FEATURE_DEVELOPER_TOOLS ]: {
getSlug: () => FEATURE_DEVELOPER_TOOLS,
getTitle: () => i18n.translate( 'Developer tools' ),
},
[ FEATURE_DYNAMIC_PRODUCT_UPSELLS ]: {
getSlug: () => FEATURE_DYNAMIC_PRODUCT_UPSELLS,
getTitle: () => i18n.translate( 'Dynamic product upsells' ),
},
[ FEATURE_FREE_MIGRATIONS ]: {
getSlug: () => FEATURE_FREE_MIGRATIONS,
getTitle: () => i18n.translate( 'Free migrations' ),
},
[ FEATURE_FULL_DATA_CENTER_REDUNDANCIES ]: {
getSlug: () => FEATURE_FULL_DATA_CENTER_REDUNDANCIES,
getTitle: () => i18n.translate( 'Full data center redundancies' ),
},
[ FEATURE_GITHUB_DEPLOYMENTS ]: {
getSlug: () => FEATURE_GITHUB_DEPLOYMENTS,
getTitle: () => i18n.translate( 'GitHub deployments' ),
},
[ FEATURE_HELP_CENTER_SUPPORT ]: {
getSlug: () => FEATURE_HELP_CENTER_SUPPORT,
getTitle: () => i18n.translate( 'Help center support' ),
},
[ FEATURE_LIMITED_STATS ]: {
getSlug: () => FEATURE_LIMITED_STATS,
getTitle: () => i18n.translate( 'Limited stats' ),
},
[ FEATURE_LOCAL_DEVELOPMENT_ENVIRONMENT ]: {
getSlug: () => FEATURE_LOCAL_DEVELOPMENT_ENVIRONMENT,
getTitle: () => i18n.translate( 'Local development environment' ),
},
[ FEATURE_PRE_INSTALLED_SECURITY_PERF_PLUGINS ]: {
getSlug: () => FEATURE_PRE_INSTALLED_SECURITY_PERF_PLUGINS,
getTitle: () => i18n.translate( 'Pre-installed plugins for security and performance' ),
},
[ FEATURE_WEB_SERVER_SETTINGS ]: {
getSlug: () => FEATURE_WEB_SERVER_SETTINGS,
getTitle: () => i18n.translate( 'Web server settings' ),
},
/* END: Trail Map New Features */
};

FEATURES_LIST[ FEATURE_PRE_INSTALLED_ECOMMERCE_PLUGINS ] = {
...FEATURES_LIST[ FEATURE_PRE_INSTALLED_ECOMMERCE_PLUGINS ],
getSubFeatureSlugs: () => [
FEATURE_UNLIMITED_PRODUCTS,
FEATURE_MIN_MAX_ORDER_QUANTITY,
FEATURE_BULK_DISCOUNTS,
FEATURE_INVENTORY,
FEATURE_DYNAMIC_PRODUCT_UPSELLS,
],
};

export { FEATURES_LIST };
1 change: 1 addition & 0 deletions packages/calypso-products/src/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ export type FeatureObject = {
getFeatureGroup?: () => string;
getQuantity?: () => number; // storage add-ons are a quantity based product. this determines checkout price
getUnitProductSlug?: () => string; // used for storage add-ons to determine the checkout item
getSubFeatureSlugs?: () => Array< string >;
};

export type FeatureList = {
Expand Down

0 comments on commit 7814855

Please sign in to comment.