Skip to content

Commit 8c109a3

Browse files
authored
Fix analytics for sign up page view (#1324)
Summary: TSIA. Type of change: /kind bugfix Test Plan: View signup page (through any means). Event should now be tracked when permitted to do so. --------- Signed-off-by: Nick Lanam <nlanam@pixielabs.ai>
1 parent 20de7eb commit 8c109a3

4 files changed

Lines changed: 27 additions & 2 deletions

File tree

src/ui/src/components/auth/auth-box.tsx

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import { Button, Link, Typography } from '@mui/material';
2323
import { Theme } from '@mui/material/styles';
2424
import { createStyles, makeStyles } from '@mui/styles';
2525

26+
import pixieAnalytics from 'app/utils/analytics';
2627
import { WithChildren } from 'app/utils/react-boilerplate';
2728

2829
import { PixienautBox } from './pixienaut-box';
@@ -87,6 +88,11 @@ export const AuthBox: React.FC<WithChildren<AuthBoxProps>> = React.memo((props)
8788
children,
8889
} = props;
8990
const classes = useStyles();
91+
92+
const reportToggleClick = React.useCallback(() => {
93+
pixieAnalytics.track('Switched between Login and Signup', { newUrl: toggleURL });
94+
}, [toggleURL]);
95+
9096
return (
9197
<PixienautBox>
9298
<Typography variant='h1' className={classes.title}>
@@ -120,8 +126,14 @@ export const AuthBox: React.FC<WithChildren<AuthBoxProps>> = React.memo((props)
120126
<Typography variant='subtitle2' className={classes.account}>
121127
{buttonCaption}
122128
</Typography>
123-
{/* eslint-disable-next-line react-memo/require-usememo */}
124-
<Button component={Link} color='primary' href={toggleURL} sx={{ ml: buttonCaption ? 1 : 0 }}>
129+
<Button
130+
component={Link}
131+
color='primary'
132+
href={toggleURL}
133+
onClick={reportToggleClick}
134+
// eslint-disable-next-line react-memo/require-usememo
135+
sx={{ ml: buttonCaption ? 1 : 0 }}
136+
>
125137
{buttonText}
126138
</Button>
127139
</div>

src/ui/src/pages/auth/auth0-oauth-provider.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import { UserManager } from 'oidc-client';
2323
import { FormStructure } from 'app/components';
2424
import { Auth0Buttons } from 'app/containers/auth/auth0-buttons';
2525
import { AUTH_CLIENT_ID, AUTH_EMAIL_PASSWORD_CONN, AUTH_URI } from 'app/containers/constants';
26+
import pixieAnalytics from 'app/utils/analytics';
2627

2728
import { getSignupArgs, CallbackArgs, getLoginArgs } from './callback-url';
2829

@@ -37,6 +38,7 @@ export const Auth0Client = {
3738
}),
3839

3940
redirectToGoogleLogin(): void {
41+
pixieAnalytics.track('Redirect to Google login');
4042
this.userManager.signinRedirect({
4143
extraQueryParams: {
4244
connection: 'google-oauth2',
@@ -49,6 +51,7 @@ export const Auth0Client = {
4951
},
5052

5153
redirectToGoogleSignup(): void {
54+
pixieAnalytics.track('Redirect to Google signup');
5255
this.userManager.signinRedirect({
5356
extraQueryParams: {
5457
connection: 'google-oauth2',
@@ -61,6 +64,7 @@ export const Auth0Client = {
6164
},
6265

6366
redirectToEmailLogin(): void {
67+
pixieAnalytics.track('Redirect to email login');
6468
this.userManager.signinRedirect({
6569
extraQueryParams: {
6670
connection: AUTH_EMAIL_PASSWORD_CONN,
@@ -75,6 +79,7 @@ export const Auth0Client = {
7579
},
7680

7781
redirectToEmailSignup(): void {
82+
pixieAnalytics.track('Redirect to email signup');
7883
this.userManager.signinRedirect({
7984
extraQueryParams: {
8085
connection: AUTH_EMAIL_PASSWORD_CONN,

src/ui/src/pages/auth/oidc-oauth-provider.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import {
2626
OIDC_CLIENT_ID, OIDC_HOST, OIDC_METADATA_URL, OIDC_ADDITIONAL_SCOPES,
2727
OIDC_SOCIAL_CONFIG_LOGIN, OIDC_SOCIAL_CONFIG_SIGNUP,
2828
} from 'app/containers/constants';
29+
import pixieAnalytics from 'app/utils/analytics';
2930

3031
import { CallbackArgs, getLoginArgs, getSignupArgs } from './callback-url';
3132

@@ -49,6 +50,7 @@ export const OIDCClient = {
4950
extraQueryParams.invite = true;
5051
}
5152

53+
pixieAnalytics.track('Redirect to login', { args, extraQueryParams });
5254
this.userManager.signinRedirect({
5355
extraQueryParams,
5456
prompt: 'login',
@@ -65,6 +67,7 @@ export const OIDCClient = {
6567
extraQueryParams.invite = true;
6668
}
6769

70+
pixieAnalytics.track('Redirect to signup', { args, extraQueryParams });
6871
this.userManager.signinRedirect({
6972
extraQueryParams,
7073
prompt: 'login',

src/ui/src/pages/auth/signup.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import { Theme } from '@mui/material/styles';
2323
import { createStyles, makeStyles } from '@mui/styles';
2424

2525
import { AuthBox, SignupMarcom } from 'app/components';
26+
import pixieAnalytics from 'app/utils/analytics';
2627

2728
import { BasePage } from './base';
2829
import { GetOAuthProvider } from './utils';
@@ -43,6 +44,10 @@ const useStyles = makeStyles(({ breakpoints }: Theme) => createStyles({
4344
}), { name: 'SignupPage' });
4445

4546
export const SignupPage = React.memo(() => {
47+
React.useEffect(() => {
48+
pixieAnalytics.track('Signup page viewed');
49+
}, []);
50+
4651
const classes = useStyles();
4752
const authClient = React.useMemo(() => GetOAuthProvider(), []);
4853
const buttons = React.useMemo(

0 commit comments

Comments
 (0)