Skip to content

Commit

Permalink
feat: log events for multi wallet restore flow
Browse files Browse the repository at this point in the history
  • Loading branch information
shawnbusuttil committed Apr 29, 2024
1 parent b42078f commit 0e01d02
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 21 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -53,5 +53,12 @@ export const postHogMultiWalletActions: PostHogMultiWalletActionsType = {
RECOVERY_PHRASE_COPY_TO_CLIPBOARD_CLICK: PostHogAction.MultiWalletCreateSaveRecoveryPhraseCopyToClipboardClick,
RECOVERY_PHRASE_PASTE_FROM_CLIPBOARD_CLICK:
PostHogAction.MultiWalletCreateEnterRecoveryPhrasePasteFromClipboardClick
},
restore: {
SETUP_OPTION_CLICK: PostHogAction.MultiWalletRestoreClick,
ENTER_RECOVERY_PHRASE_NEXT_CLICK: PostHogAction.MultiWalletRestoreEnterRecoveryPhraseNextClick,
ENTER_WALLET: PostHogAction.MultiWalletRestoreEnterWalletClick,
RECOVERY_PHRASE_PASTE_FROM_CLIPBOARD_CLICK:
PostHogAction.MultiWalletRestoreEnterRecoveryPhrasePasteFromClipboardClick
}
};
Original file line number Diff line number Diff line change
Expand Up @@ -60,9 +60,10 @@ export const NewRecoveryPhrase = (): JSX.Element => {

const saveWallet = useCallback(async () => {
const { source } = await createWallet(data);
await analytics.sendEventToPostHog(PostHogAction.MultiWalletCreateEnterRecoveryPhraseNextClick);

// move this to name-password setup submit handle after order changes
await analytics.sendEventToPostHog(PostHogAction.MultiWalletCreateEnterWalletClick);
await analytics.sendEventToPostHog(PostHogAction.MultiWalletCreateAdded, {
await analytics.sendEventToPostHog(PostHogAction.MultiWalletCreateEnterWalletClick, {
// eslint-disable-next-line camelcase
$set: { wallet_accounts_quantity: await getWalletAccountsQtyString(walletRepository) }
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import { PostHogAction, toast } from '@lace/common';
import { TOAST_DEFAULT_DURATION } from '@hooks/useActionExecution';
import { WalletConflictError } from '@cardano-sdk/web-extension';
import { useAnalyticsContext } from '@providers/AnalyticsProvider';
import { postHogOnboardingActions } from '@providers/AnalyticsProvider/analyticsTracker';
import { postHogMultiWalletActions } from '@providers/AnalyticsProvider/analyticsTracker';
import { filter, firstValueFrom } from 'rxjs';
import { isScriptAddress } from '@cardano-sdk/wallet';
import { getWalletAccountsQtyString } from '@src/utils/get-wallet-count-string';
Expand Down Expand Up @@ -58,7 +58,10 @@ export const RestoreRecoveryPhrase = (): JSX.Element => {
const onSubmitForm = useCallback(async () => {
try {
const { source, wallet } = await createWallet(data);
await analytics.sendEventToPostHog(PostHogAction.MultiWalletRestoreAdded, {
await analytics.sendEventToPostHog(PostHogAction.MultiWalletRestoreEnterRecoveryPhraseNextClick);

// move this to name-password setup submit handle after order changes
await analytics.sendEventToPostHog(PostHogAction.MultiWalletRestoreEnterWalletClick, {
// eslint-disable-next-line camelcase
$set: { wallet_accounts_quantity: await getWalletAccountsQtyString(walletRepository) }
});
Expand All @@ -81,7 +84,7 @@ export const RestoreRecoveryPhrase = (): JSX.Element => {

const handleMnemonicVerification = (event: Readonly<React.MouseEvent<HTMLButtonElement>>) => {
event.preventDefault();
analytics.sendEventToPostHog(postHogOnboardingActions.restore?.ENTER_RECOVERY_PHRASE_NEXT_CLICK);
analytics.sendEventToPostHog(postHogMultiWalletActions.restore?.ENTER_RECOVERY_PHRASE_NEXT_CLICK);
onSubmitForm();
};

Expand All @@ -100,7 +103,7 @@ export const RestoreRecoveryPhrase = (): JSX.Element => {
defaultMnemonicLength={DEFAULT_MNEMONIC_LENGTH}
onSetMnemonicLength={(value: number) => setMnemonicLength(value)}
onPasteFromClipboard={() =>
analytics.sendEventToPostHog(postHogOnboardingActions.restore?.RECOVERY_PHRASE_PASTE_FROM_CLIPBOARD_CLICK)
analytics.sendEventToPostHog(postHogMultiWalletActions.restore?.RECOVERY_PHRASE_PASTE_FROM_CLIPBOARD_CLICK)
}
/>
);
Expand Down
28 changes: 13 additions & 15 deletions packages/common/src/analytics/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ export enum PostHogAction {
MultiWalletSwitchAccount = 'multiwallet | switch account | click',
MultiWalletDisableAccount = 'multiwallet | disable account | click',
MultiWalletEnableAccount = 'multiwallet | enable account | click',

// Multi wallet Create new wallet
MultiWalletCreateClick = 'multiwallet | new wallet revamp | create | click',
MultiWalletCreateSaveRecoveryPhraseNextClick = 'multiwallet | new wallet revamp | save your recovery phrase | next | click',
Expand All @@ -43,11 +44,19 @@ export enum PostHogAction {
MultiWalletCreateEnterRecoveryPhrasePasteFromClipboardClick = 'multiwallet | new wallet revamp | enter your recovery phrase | paste from clipboard | click',
MultiWalletCreateEnterWalletClick = "multiwallet | new wallet revamp | let's set up your new wallet | enter wallet | click",

// depr
// deprecate
MultiWalletCreateWalletNamePasswordNextClick = 'multiwallet | new wallet | wallet name & password | next | click',
MultiWalletCreatePassphraseIntroPlayVideoClick = 'multiwallet | new wallet | passphrase intro | play video | click',
MultiwalletCreatePassphraseIntroNextClick = 'multiwallet | new wallet | passphrase intro | next | click',
MultiWalletCreateAdded = 'multiwallet | new wallet | added',

// Multi wallet Restore wallet
MultiWalletRestoreClick = 'multiwallet | restore wallet revamp | restore | click',
MultiWalletRestoreEnterRecoveryPhrasePasteFromClipboardClick = 'multiwallet | restore wallet revamp | enter your recovery phrase | paste from clipboard | click',
MultiWalletRestoreEnterWalletClick = 'multiwallet | new wallet revamp | lets set up your new wallet | enter wallet | click',
MultiWalletRestoreEnterRecoveryPhraseNextClick = 'multiwallet | new wallet revamp | enter your recovery phrase | next | click',

// deprecate
MultiwalletRestoreWalletNamePasswordNextClick = 'multiwallet | restore wallet | wallet name & password | next | click',

MultiWalletRestoreHdWallet = 'multiwallet | restore wallet | hd wallet',

// Multi wallet Hardware wallet connect
MultiWalletHWClick = 'multiwallet | hardware wallet | connect | click',
Expand All @@ -56,17 +65,6 @@ export enum PostHogAction {
MultiWalletHWNameNextClick = 'multiwallet | hardware wallet | name hw wallet | next | click',
MultiWalletHWAdded = 'multiwallet | hardware wallet | added',

// Multi wallet Restore wallet
MultiWalletRestoreClick = 'multiwallet | restore wallet | restore | click',
MultiWalletRestorePassphraseIntroPlayVideoClick = 'multiwallet | restore wallet | passphrase intro | play video | click',
MultiwalletRestorePassphraseIntroNextClick = 'multiwallet | restore wallet | passphrase intro | next | click',
MultiwalletRestoreRecoveryPhraseLengthNextClick = 'multiwallet | restore wallet | recovery phrase length | next | click',
MultiwalletRestoreEnterPassphrase01NextClick = 'multiwallet | restore wallet | enter passphrase #01 | next | click',
MultiwalletRestoreEnterPassphrase09NextClick = 'multiwallet | restore wallet | enter passphrase #09 | next | click',
MultiwalletRestoreEnterPassphrase17NextClick = 'multiwallet | restore wallet | enter passphrase #17 | next | click',
MultiwalletRestoreWalletNamePasswordNextClick = 'multiwallet | restore wallet | wallet name & password | next | click',
MultiWalletRestoreAdded = 'multiwallet | restore wallet | added',
MultiWalletRestoreHdWallet = 'multiwallet | restore wallet | hd wallet',
// Staking
StakingClick = 'staking | staking | click',
StakingStakePoolClick = 'staking | staking | stake pool | click',
Expand Down

0 comments on commit 0e01d02

Please sign in to comment.