Skip to content

Commit 7b0ab07

Browse files
committed
feat(surveys): experiment with quickcreate modal on funnels
1 parent 09416ab commit 7b0ab07

18 files changed

+996
-344
lines changed

frontend/src/lib/constants.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -349,6 +349,7 @@ export const FEATURE_FLAGS = {
349349
EXPERIMENTS_RETENTION_METRICS: 'experiments-retention-metrics', // owner: @rodrigoi #team-experiments
350350
HOME_FEED_TAB: 'home-feed-tab', // owner: @ksvat #team-replay
351351
SURVEYS_FF_CROSS_SELL: 'surveys-ff-cross-sell', // owner: @adboio #team-surveys
352+
SURVEYS_INSIGHT_BUTTON_EXPERIMENT: 'ask-users-why-ai-vs-quickcreate', // owner: @adboio #team-surveys multivariate
352353
} as const
353354
export type FeatureFlagLookupKey = keyof typeof FEATURE_FLAGS
354355
export type FeatureFlagKey = (typeof FEATURE_FLAGS)[keyof typeof FEATURE_FLAGS]

frontend/src/scenes/dashboard/DashboardItems.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,11 @@ export function DashboardItems(): JSX.Element {
6262

6363
const bestSurveyOpportunityFunnel = surveyLinkedInsightsLoading
6464
? null
65-
: getBestSurveyOpportunityFunnel(tiles || [], surveyLinkedInsights)
65+
: getBestSurveyOpportunityFunnel(
66+
tiles || [],
67+
surveyLinkedInsights,
68+
featureFlags[FEATURE_FLAGS.SURVEYS_INSIGHT_BUTTON_EXPERIMENT] === 'test'
69+
)
6670

6771
const [resizingItem, setResizingItem] = useState<any>(null)
6872

frontend/src/scenes/feature-flags/FeatureFlag.tsx

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,8 @@ import { dashboardLogic } from 'scenes/dashboard/dashboardLogic'
5555
import { UTM_TAGS } from 'scenes/feature-flags/FeatureFlagSnippets'
5656
import { JSONEditorInput } from 'scenes/feature-flags/JSONEditorInput'
5757
import { SceneExport } from 'scenes/sceneTypes'
58-
import { QuickSurveyModal } from 'scenes/surveys/QuickSurveyModal'
58+
import { QuickSurveyModal } from 'scenes/surveys/quick-create/QuickSurveyModal'
59+
import { QuickSurveyType } from 'scenes/surveys/quick-create/types'
5960
import { getSurveyForFeatureFlagVariant } from 'scenes/surveys/utils'
6061
import { teamLogic } from 'scenes/teamLogic'
6162
import { urls } from 'scenes/urls'
@@ -876,13 +877,16 @@ export function FeatureFlag({ id }: FeatureFlagLogicProps): JSX.Element {
876877
)}
877878
</div>
878879
<QuickSurveyModal
879-
flag={featureFlag}
880+
context={{
881+
type: QuickSurveyType.FEATURE_FLAG,
882+
flag: featureFlag,
883+
initialVariantKey: quickSurveyVariantKey,
884+
}}
880885
isOpen={isQuickSurveyModalOpen}
881-
onClose={() => {
886+
onCancel={() => {
882887
setIsQuickSurveyModalOpen(false)
883888
setQuickSurveyVariantKey(null)
884889
}}
885-
initialVariantKey={quickSurveyVariantKey}
886890
/>
887891
</>
888892
)

frontend/src/scenes/feature-flags/FeatureFlagFeedbackTab.tsx

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,10 @@ import { LemonBanner, LemonTable, LemonTableColumn, Link, Spinner } from '@posth
66
import { LemonTableLink } from 'lib/lemon-ui/LemonTable/LemonTableLink'
77
import { createdAtColumn } from 'lib/lemon-ui/LemonTable/columnUtils'
88
import stringWithWBR from 'lib/utils/stringWithWBR'
9-
import { QuickSurveyForm } from 'scenes/surveys/QuickSurveyModal'
109
import { SurveyResult } from 'scenes/surveys/SurveyView'
1110
import { SurveyStatusTag } from 'scenes/surveys/components/SurveyStatusTag'
11+
import { QuickSurveyForm } from 'scenes/surveys/quick-create/QuickSurveyModal'
12+
import { QuickSurveyType } from 'scenes/surveys/quick-create/types'
1213
import { surveyLogic } from 'scenes/surveys/surveyLogic'
1314
import { SurveysTabs, surveysLogic } from 'scenes/surveys/surveysLogic'
1415
import { urls } from 'scenes/urls'
@@ -27,7 +28,12 @@ export function FeedbackTab({ featureFlag }: { featureFlag: FeatureFlagType }):
2728
Gather valuable insights by automatically displaying a survey to users in this feature flag
2829
</LemonBanner>
2930
<div className="border rounded p-6 bg-bg-light">
30-
<QuickSurveyForm flag={featureFlag} />
31+
<QuickSurveyForm
32+
context={{
33+
type: QuickSurveyType.FEATURE_FLAG,
34+
flag: featureFlag,
35+
}}
36+
/>
3137
</div>
3238
</div>
3339
</div>

frontend/src/scenes/feature-flags/FeatureFlags.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ import stringWithWBR from 'lib/utils/stringWithWBR'
2929
import MaxTool from 'scenes/max/MaxTool'
3030
import { projectLogic } from 'scenes/projectLogic'
3131
import { SceneExport } from 'scenes/sceneTypes'
32-
import { QuickSurveyModal } from 'scenes/surveys/QuickSurveyModal'
32+
import { QuickSurveyModal } from 'scenes/surveys/quick-create/QuickSurveyModal'
3333
import { urls } from 'scenes/urls'
3434
import { userLogic } from 'scenes/userLogic'
3535

@@ -241,9 +241,9 @@ function FeatureFlagRowActions({ featureFlag }: { featureFlag: FeatureFlagType }
241241
}
242242
/>
243243
<QuickSurveyModal
244-
flag={featureFlag}
244+
context={{ type: 'feature_flag', flag: featureFlag }}
245245
isOpen={isQuickSurveyModalOpen}
246-
onClose={() => setIsQuickSurveyModalOpen(false)}
246+
onCancel={() => setIsQuickSurveyModalOpen(false)}
247247
/>
248248
</>
249249
)

0 commit comments

Comments
 (0)