Skip to content

Commit

Permalink
Storage Add On: Allow higher term cart item to be added via query par…
Browse files Browse the repository at this point in the history
…am (#98899)

* Storage Add On: Allow higher term cart item to be added via query param

* Allow only 350gb add on

* Review fixes

* Fix: Add tracks event
  • Loading branch information
ddc22 authored Jan 31, 2025
1 parent 4f6f262 commit f82b613
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 24 deletions.
36 changes: 13 additions & 23 deletions client/lib/signup/step-actions/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ import config from '@automattic/calypso-config';
import { WPCOM_DIFM_LITE, PRODUCT_1GB_SPACE, isDomainTransfer } from '@automattic/calypso-products';
import { getUrlParts } from '@automattic/calypso-url';
import { Site, AddOns } from '@automattic/data-stores';
import { STORAGE_ADD_ONS } from '@automattic/data-stores/src/add-ons';
import { getAddOn } from '@automattic/data-stores/src/add-ons/add-ons-list';
import { isBlankCanvasDesign } from '@automattic/design-picker';
import { guessTimezone, getLanguage } from '@automattic/i18n-utils';
import { isOnboardingGuidedFlow } from '@automattic/onboarding';
Expand Down Expand Up @@ -1246,29 +1248,17 @@ export function maybeAddStorageAddonToCart( stepName, defaultDependencies, nextP
const state = store.getState();
const selectedStorage = get( getSignupDependencyStore( state ), 'storage', null );

switch ( selectedStorage ) {
case AddOns.ADD_ON_50GB_STORAGE:
cartItem.push( {
product_slug: PRODUCT_1GB_SPACE,
quantity: 50,
volume: 1,
extra: { feature_slug: AddOns.ADD_ON_50GB_STORAGE },
} );
recordTracksEvent( 'calypso_signup_storage_add_on_selected', {
add_on_slug: AddOns.ADD_ON_50GB_STORAGE,
} );
break;
case AddOns.ADD_ON_100GB_STORAGE:
cartItem.push( {
product_slug: PRODUCT_1GB_SPACE,
quantity: 100,
volume: 1,
extra: { feature_slug: AddOns.ADD_ON_100GB_STORAGE },
} );
recordTracksEvent( 'calypso_signup_storage_add_on_selected', {
add_on_slug: AddOns.ADD_ON_100GB_STORAGE,
} );
break;
if ( STORAGE_ADD_ONS.includes( selectedStorage ) ) {
const selectedAddOn = getAddOn( selectedStorage );
cartItem.push( {
product_slug: PRODUCT_1GB_SPACE,
quantity: selectedAddOn.quantity,
volume: 1,
extra: { feature_slug: AddOns.ADD_ON_50GB_STORAGE },
} );
recordTracksEvent( 'calypso_signup_storage_add_on_selected', {
add_on_slug: selectedAddOn.addOnSlug,
} );
}

submitSignupStep( { stepName, cartItem, wasSkipped: true }, { cartItem } );
Expand Down
6 changes: 5 additions & 1 deletion packages/data-stores/src/add-ons/add-ons-list.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import {
import customDesignIcon from './icons/custom-design';
import spaceUpgradeIcon from './icons/space-upgrade';
import unlimitedThemesIcon from './icons/unlimited-themes';
import type { AddOnMeta } from './types';
import type { AddOnMeta, AddOnSlug } from './types';

export const getAddOnsList = (): AddOnMeta[] => {
const defaultAddOns: AddOnMeta[] = [
Expand Down Expand Up @@ -110,3 +110,7 @@ export const getAddOnsList = (): AddOnMeta[] => {

return defaultAddOns;
};

export const getAddOn = ( addOnSlug: AddOnSlug ): AddOnMeta | undefined => {
return getAddOnsList().find( ( addOn ) => addOn.addOnSlug === addOnSlug );
};

0 comments on commit f82b613

Please sign in to comment.