Skip to content

Commit 497edbb

Browse files
authored
[WL-3329] feat: add homeButtonLink override parameter (#220)
1 parent ec4abe8 commit 497edbb

File tree

3 files changed

+14
-3
lines changed

3 files changed

+14
-3
lines changed

src/boot.tsx

+3
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ export default (element: HTMLDivElement, hub: Hub) => {
2929

3030
const utmSource = element.getAttribute("data-utm-source") || undefined;
3131
const utmCampaign = element.getAttribute("data-utm-campaign") || undefined;
32+
const impactTrackingLink =
33+
element.getAttribute("data-impact-tracking-link") || undefined;
3234

3335
if (element.getAttribute("data-encoded")) {
3436
const exercise = JSON.parse(atob(decodeURIComponent(element.textContent)));
@@ -103,6 +105,7 @@ export default (element: HTMLDivElement, hub: Hub) => {
103105
language={settings.language}
104106
utmSource={utmSource}
105107
utmCampaign={utmCampaign}
108+
impactTrackingLink={impactTrackingLink}
106109
/>
107110
</Provider>
108111
</AppContainer>

src/components/App/index.tsx

+2
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ export interface IAppProps extends React.Props<App> {
8585
nPlots?: number;
8686
utmSource?: string;
8787
utmCampaign?: string;
88+
impactTrackingLink?: string;
8889
}
8990

9091
interface IAppState {
@@ -321,6 +322,7 @@ export class App extends React.Component<IAppProps, IAppState> {
321322
showSolutionButton={this.state.solutionButtonVisible}
322323
utmSource={this.props.utmSource}
323324
utmCampaign={this.props.utmCampaign}
325+
impactTrackingLink={this.props.impactTrackingLink}
324326
/>
325327
</div>
326328
</Provider>

src/components/Footer.tsx

+9-3
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ export interface IFooterProps extends React.Props<Footer> {
2424
language?: string;
2525
utmSource?: string;
2626
utmCampaign?: string;
27+
impactTrackingLink?: string;
2728
}
2829

2930
interface IFooterState {
@@ -76,10 +77,15 @@ export class Footer extends React.PureComponent<IFooterProps, IFooterState> {
7677
}
7778

7879
public render() {
79-
const { utmSource, utmCampaign } = this.props;
80-
const baseUrl = "https://www.datacamp.com/";
80+
const { utmSource, utmCampaign, impactTrackingLink } = this.props;
81+
const baseUrl = impactTrackingLink
82+
? "https://datacamp.pxf.io"
83+
: "https://www.datacamp.com/";
8184
const queryParams = `utm_source=${utmSource}&utm_campaign=${utmCampaign}`;
82-
const datacampUrl = `${baseUrl}?${queryParams}`;
85+
const datacampUrl = impactTrackingLink
86+
? `${baseUrl}${impactTrackingLink}`
87+
: `${baseUrl}?${queryParams}`;
88+
8389
return (
8490
<div className={styles.footer}>
8591
{this.props.hint ? (

0 commit comments

Comments
 (0)