diff --git a/frontend/common/constants.ts b/frontend/common/constants.ts index f2ad5e48daa1..bc5668307da1 100644 --- a/frontend/common/constants.ts +++ b/frontend/common/constants.ts @@ -260,6 +260,18 @@ const Constants = { 'category': 'User', 'event': `User oauth ${type}`, }), + 'ONBOARDING_AI_CONNECT': { + 'category': 'Onboarding', + 'event': 'Onboarding AI connect used', + }, + 'ONBOARDING_FLAG_TOGGLED': { + 'category': 'Onboarding', + 'event': 'Onboarding flag toggled', + }, + 'ONBOARDING_SNIPPET_COPIED': { + 'category': 'Onboarding', + 'event': 'Onboarding snippet copied', + }, 'REFERRER_CONVERSION': (referrer: string) => ({ 'category': 'Referrer', 'event': `${referrer} converted`, diff --git a/frontend/common/utils/getOnboardingVariant.ts b/frontend/common/utils/getOnboardingVariant.ts new file mode 100644 index 000000000000..10b36c33a1d2 --- /dev/null +++ b/frontend/common/utils/getOnboardingVariant.ts @@ -0,0 +1,10 @@ +import Utils from './utils' + +export type OnboardingVariant = 'control' | 'single_page' + +// Which onboarding flow the user is in, from the onboarding_quickstart_flow +// flag the new flow is gated behind (#7738). +export const getOnboardingVariant = (): OnboardingVariant => + Utils.getFlagsmithHasFeature('onboarding_quickstart_flow') + ? 'single_page' + : 'control' diff --git a/frontend/web/components/pages/onboarding/OnboardingConnectPanel/ConnectWithAiPanel.tsx b/frontend/web/components/pages/onboarding/OnboardingConnectPanel/ConnectWithAiPanel.tsx index 626a1000f44e..df2bc0e2c1dd 100644 --- a/frontend/web/components/pages/onboarding/OnboardingConnectPanel/ConnectWithAiPanel.tsx +++ b/frontend/web/components/pages/onboarding/OnboardingConnectPanel/ConnectWithAiPanel.tsx @@ -7,6 +7,7 @@ import { useCopyFeedback } from 'components/pages/onboarding/hooks/useCopyFeedba export type ConnectWithAiPanelProps = { environmentKey: string featureName: string + onCopyPrompt?: () => void } // "Connect with AI" tab: an agent-agnostic prompt the user pastes into their @@ -18,6 +19,7 @@ export type ConnectWithAiPanelProps = { const ConnectWithAiPanel: FC = ({ environmentKey, featureName, + onCopyPrompt, }) => { const { copied, copy } = useCopyFeedback() @@ -39,7 +41,14 @@ Detect my stack, install the SDK, and wire ${featureName} into one place. Then r {aiPrompt} -