@@ -20,7 +20,7 @@ import { hasSetReminder } from '../../lib/reminders';
2020import {
2121 addChoiceCardsOneTimeParams ,
2222 addChoiceCardsProductParams ,
23- addRegionIdAndTrackingParamsToSupportUrl ,
23+ enrichSupportUrl ,
2424 isSupportUrl ,
2525} from '../../lib/tracking' ;
2626import {
@@ -58,15 +58,15 @@ const PrimaryCtaButton = ({
5858 countryCode,
5959 amountsTestName,
6060 amountsVariantName,
61- numArticles ,
61+ promoCodes ,
6262 submitComponentEvent,
6363} : {
6464 cta ?: Cta ;
6565 tracking : Tracking ;
6666 countryCode ?: string ;
6767 amountsTestName ?: string ;
6868 amountsVariantName ?: string ;
69- numArticles : number ;
69+ promoCodes : string [ ] ;
7070 submitComponentEvent ?: ( event : ComponentEvent ) => void ;
7171} ) : JSX . Element | null => {
7272 if ( ! cta ) {
@@ -75,14 +75,14 @@ const PrimaryCtaButton = ({
7575
7676 const buttonText = cta . text || 'Support The Guardian' ;
7777 const baseUrl = cta . baseUrl || 'https://support.theguardian.com/contribute' ;
78- const urlWithRegionAndTracking = addRegionIdAndTrackingParamsToSupportUrl (
78+ const urlWithRegionAndTracking = enrichSupportUrl ( {
7979 baseUrl,
8080 tracking,
81- numArticles ,
81+ promoCodes : promoCodes ?? [ ] ,
8282 countryCode,
83- amountsTestName ,
84- amountsVariantName ,
85- ) ;
83+ amountsAbTestName : amountsTestName ,
84+ amountsAbTestVariant : amountsVariantName ,
85+ } ) ;
8686
8787 return (
8888 < div css = { buttonMarginStyles } >
@@ -101,22 +101,22 @@ const PrimaryCtaButton = ({
101101const SecondaryCtaButton = ( {
102102 cta,
103103 tracking,
104- numArticles,
105104 countryCode,
106105 submitComponentEvent,
106+ promoCodes,
107107} : {
108108 cta : Cta ;
109109 tracking : Tracking ;
110110 countryCode ?: string ;
111- numArticles : number ;
112111 submitComponentEvent ?: ( event : ComponentEvent ) => void ;
112+ promoCodes : string [ ] ;
113113} ) : JSX . Element | null => {
114- const url = addRegionIdAndTrackingParamsToSupportUrl (
115- cta . baseUrl ,
114+ const url = enrichSupportUrl ( {
115+ baseUrl : cta . baseUrl ,
116116 tracking,
117- numArticles ,
117+ promoCodes ,
118118 countryCode,
119- ) ;
119+ } ) ;
120120 return (
121121 < div css = { buttonMarginStyles } >
122122 < EpicButton
@@ -142,7 +142,7 @@ interface ContributionsEpicButtonsProps {
142142 threeTierChoiceCardSelectedProduct ?: ChoiceCard [ 'product' ] ;
143143 amountsTestName ?: string ;
144144 amountsVariantName ?: string ;
145- numArticles : number ;
145+ promoCodes : string [ ] ;
146146}
147147
148148export const ContributionsEpicButtons = ( {
@@ -156,7 +156,7 @@ export const ContributionsEpicButtons = ({
156156 threeTierChoiceCardSelectedProduct,
157157 amountsTestName,
158158 amountsVariantName,
159- numArticles ,
159+ promoCodes ,
160160} : ContributionsEpicButtonsProps ) : JSX . Element | null => {
161161 const [ hasBeenSeen , setNode ] = useIsInView ( {
162162 debounce : true ,
@@ -220,7 +220,7 @@ export const ContributionsEpicButtons = ({
220220 < PrimaryCtaButton
221221 cta = { getCta ( variant . cta ) }
222222 tracking = { tracking }
223- numArticles = { numArticles }
223+ promoCodes = { promoCodes }
224224 amountsTestName = { amountsTestName }
225225 amountsVariantName = { amountsVariantName }
226226 countryCode = { countryCode }
@@ -233,7 +233,7 @@ export const ContributionsEpicButtons = ({
233233 cta = { secondaryCta . cta }
234234 tracking = { tracking }
235235 countryCode = { countryCode }
236- numArticles = { numArticles }
236+ promoCodes = { promoCodes }
237237 submitComponentEvent = { submitComponentEvent }
238238 />
239239 ) }
0 commit comments