@@ -12,7 +12,6 @@ import { GitIntegrationStep } from "./GitIntegrationStep";
1212import { OrgBillingStep } from "./OrgBillingStep" ;
1313import { SignalsStep } from "./SignalsStep" ;
1414import { StepIndicator } from "./StepIndicator" ;
15- import { TutorialStep } from "./TutorialStep" ;
1615import { WelcomeStep } from "./WelcomeStep" ;
1716
1817export function OnboardingFlow ( ) {
@@ -26,8 +25,6 @@ export function OnboardingFlow() {
2625 completeOnboarding ( ) ;
2726 } ;
2827
29- const isTutorial = currentStep === "tutorial" ;
30-
3128 return (
3229 < Theme appearance = "light" accentColor = "orange" radius = "medium" >
3330 < LayoutGroup >
@@ -38,157 +35,151 @@ export function OnboardingFlow() {
3835 >
3936 < DraggableTitleBar />
4037
41- { isTutorial ? (
42- < TutorialStep onComplete = { handleComplete } onBack = { back } />
43- ) : (
44- < >
45- { /* Background */ }
46- < div
47- style = { {
48- position : "absolute" ,
49- inset : 0 ,
50- backgroundColor : "rgb(243, 244, 240)" ,
51- } }
52- />
53-
54- { /* Right panel — zen hedgehog */ }
55- < Flex
56- align = "center"
57- justify = "center"
58- style = { {
59- position : "absolute" ,
60- top : 0 ,
61- right : 0 ,
62- bottom : 0 ,
63- width : "55%" ,
64- backgroundColor : "rgb(243, 244, 240)" ,
65- } }
66- >
67- < ZenHedgehog />
68- </ Flex >
69-
70- { /* Content */ }
71- < Flex
72- direction = "column"
73- flexGrow = "1"
74- style = { {
75- position : "relative" ,
76- zIndex : 1 ,
77- minHeight : 0 ,
78- width : "45%" ,
79- } }
80- >
81- < Flex
82- direction = "column"
83- flexGrow = "1"
84- overflow = "hidden"
85- style = { { minHeight : 0 } }
86- >
87- < AnimatePresence mode = "wait" >
88- { currentStep === "welcome" && (
89- < motion . div
90- key = "welcome"
91- initial = { { opacity : 0 , x : 20 } }
92- animate = { { opacity : 1 , x : 0 } }
93- exit = { { opacity : 0 , x : - 20 } }
94- transition = { { duration : 0.3 } }
95- style = { { width : "100%" , flex : 1 , minHeight : 0 } }
96- >
97- < WelcomeStep onNext = { next } />
98- </ motion . div >
99- ) }
38+ { /* Background */ }
39+ < div
40+ style = { {
41+ position : "absolute" ,
42+ inset : 0 ,
43+ backgroundColor : "rgb(243, 244, 240)" ,
44+ } }
45+ />
10046
101- { currentStep === "billing" && (
102- < motion . div
103- key = "billing"
104- initial = { { opacity : 0 , x : 20 } }
105- animate = { { opacity : 1 , x : 0 } }
106- exit = { { opacity : 0 , x : - 20 } }
107- transition = { { duration : 0.3 } }
108- style = { { width : "100%" , flex : 1 , minHeight : 0 } }
109- >
110- < BillingStep onNext = { next } onBack = { back } />
111- </ motion . div >
112- ) }
47+ { /* Right panel — zen hedgehog */ }
48+ < Flex
49+ align = "center"
50+ justify = "center"
51+ style = { {
52+ position : "absolute" ,
53+ top : 0 ,
54+ right : 0 ,
55+ bottom : 0 ,
56+ width : "55%" ,
57+ backgroundColor : "rgb(243, 244, 240)" ,
58+ } }
59+ >
60+ < ZenHedgehog />
61+ </ Flex >
11362
114- { currentStep === "org-billing" && (
115- < motion . div
116- key = "org-billing"
117- initial = { { opacity : 0 , x : 20 } }
118- animate = { { opacity : 1 , x : 0 } }
119- exit = { { opacity : 0 , x : - 20 } }
120- transition = { { duration : 0.3 } }
121- style = { { width : "100%" , flex : 1 , minHeight : 0 } }
122- >
123- < OrgBillingStep onNext = { next } onBack = { back } />
124- </ motion . div >
125- ) }
63+ { /* Content */ }
64+ < Flex
65+ direction = "column"
66+ flexGrow = "1"
67+ style = { {
68+ position : "relative" ,
69+ zIndex : 1 ,
70+ minHeight : 0 ,
71+ width : "45%" ,
72+ } }
73+ >
74+ < Flex
75+ direction = "column"
76+ flexGrow = "1"
77+ overflow = "hidden"
78+ style = { { minHeight : 0 } }
79+ >
80+ < AnimatePresence mode = "wait" >
81+ { currentStep === "welcome" && (
82+ < motion . div
83+ key = "welcome"
84+ initial = { { opacity : 0 , x : 20 } }
85+ animate = { { opacity : 1 , x : 0 } }
86+ exit = { { opacity : 0 , x : - 20 } }
87+ transition = { { duration : 0.3 } }
88+ style = { { width : "100%" , flex : 1 , minHeight : 0 } }
89+ >
90+ < WelcomeStep onNext = { next } />
91+ </ motion . div >
92+ ) }
12693
127- { currentStep === "git-integration " && (
128- < motion . div
129- key = "git-integration "
130- initial = { { opacity : 0 , x : 20 } }
131- animate = { { opacity : 1 , x : 0 } }
132- exit = { { opacity : 0 , x : - 20 } }
133- transition = { { duration : 0.3 } }
134- style = { { width : "100%" , flex : 1 , minHeight : 0 } }
135- >
136- < GitIntegrationStep onNext = { next } onBack = { back } />
137- </ motion . div >
138- ) }
94+ { currentStep === "billing " && (
95+ < motion . div
96+ key = "billing "
97+ initial = { { opacity : 0 , x : 20 } }
98+ animate = { { opacity : 1 , x : 0 } }
99+ exit = { { opacity : 0 , x : - 20 } }
100+ transition = { { duration : 0.3 } }
101+ style = { { width : "100%" , flex : 1 , minHeight : 0 } }
102+ >
103+ < BillingStep onNext = { next } onBack = { back } />
104+ </ motion . div >
105+ ) }
139106
140- { currentStep === "signals" && (
141- < motion . div
142- key = "signals"
143- initial = { { opacity : 0 , x : 20 } }
144- animate = { { opacity : 1 , x : 0 } }
145- exit = { { opacity : 0 , x : - 20 } }
146- transition = { { duration : 0.3 } }
147- style = { { width : "100%" , flex : 1 , minHeight : 0 } }
148- >
149- < SignalsStep onNext = { next } onBack = { back } />
150- </ motion . div >
151- ) }
152- </ AnimatePresence >
153- </ Flex >
107+ { currentStep === "org-billing" && (
108+ < motion . div
109+ key = "org-billing"
110+ initial = { { opacity : 0 , x : 20 } }
111+ animate = { { opacity : 1 , x : 0 } }
112+ exit = { { opacity : 0 , x : - 20 } }
113+ transition = { { duration : 0.3 } }
114+ style = { { width : "100%" , flex : 1 , minHeight : 0 } }
115+ >
116+ < OrgBillingStep onNext = { next } onBack = { back } />
117+ </ motion . div >
118+ ) }
154119
155- < StepIndicator
156- currentStep = { currentStep }
157- activeSteps = { activeSteps }
158- />
159- < Flex
160- justify = "between"
161- style = { {
162- position : "absolute" ,
163- bottom : 20 ,
164- left : 32 ,
165- right : 32 ,
166- zIndex : 2 ,
167- } }
168- >
169- < Button
170- size = "1"
171- variant = "ghost"
172- color = "gray"
173- onClick = { ( ) => logoutMutation . mutate ( ) }
174- style = { { opacity : 0.5 } }
120+ { currentStep === "git-integration" && (
121+ < motion . div
122+ key = "git-integration"
123+ initial = { { opacity : 0 , x : 20 } }
124+ animate = { { opacity : 1 , x : 0 } }
125+ exit = { { opacity : 0 , x : - 20 } }
126+ transition = { { duration : 0.3 } }
127+ style = { { width : "100%" , flex : 1 , minHeight : 0 } }
175128 >
176- < SignOut size = { 14 } />
177- Log out
178- </ Button >
179- < Button
180- size = "1"
181- variant = "ghost"
182- color = "gray"
183- onClick = { handleComplete }
184- style = { { opacity : 0.5 } }
129+ < GitIntegrationStep onNext = { next } onBack = { back } />
130+ </ motion . div >
131+ ) }
132+
133+ { currentStep === "signals" && (
134+ < motion . div
135+ key = "signals"
136+ initial = { { opacity : 0 , x : 20 } }
137+ animate = { { opacity : 1 , x : 0 } }
138+ exit = { { opacity : 0 , x : - 20 } }
139+ transition = { { duration : 0.3 } }
140+ style = { { width : "100%" , flex : 1 , minHeight : 0 } }
185141 >
186- Skip setup
187- </ Button >
188- </ Flex >
189- </ Flex >
190- </ >
191- ) }
142+ < SignalsStep onNext = { handleComplete } onBack = { back } />
143+ </ motion . div >
144+ ) }
145+ </ AnimatePresence >
146+ </ Flex >
147+
148+ < StepIndicator
149+ currentStep = { currentStep }
150+ activeSteps = { activeSteps }
151+ />
152+ < Flex
153+ justify = "between"
154+ style = { {
155+ position : "absolute" ,
156+ bottom : 20 ,
157+ left : 32 ,
158+ right : 32 ,
159+ zIndex : 2 ,
160+ } }
161+ >
162+ < Button
163+ size = "1"
164+ variant = "ghost"
165+ color = "gray"
166+ onClick = { ( ) => logoutMutation . mutate ( ) }
167+ style = { { opacity : 0.5 } }
168+ >
169+ < SignOut size = { 14 } />
170+ Log out
171+ </ Button >
172+ < Button
173+ size = "1"
174+ variant = "ghost"
175+ color = "gray"
176+ onClick = { handleComplete }
177+ style = { { opacity : 0.5 } }
178+ >
179+ Skip setup
180+ </ Button >
181+ </ Flex >
182+ </ Flex >
192183 </ Flex >
193184 </ LayoutGroup >
194185 </ Theme >
0 commit comments