Skip to content

Commit f34c292

Browse files
authored
Merge pull request #295 from Yusufolosun/fix/onboarding-flow-wizard
Add guided onboarding wizard for new users on dashboard
2 parents 0be98c8 + 72d2480 commit f34c292

3 files changed

Lines changed: 489 additions & 0 deletions

File tree

app/src/App.css

Lines changed: 185 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,3 +50,188 @@ body {
5050
width: 100%;
5151
margin: 0 auto;
5252
}
53+
54+
.onboarding {
55+
background: #fff;
56+
border: 1px solid #e1e3e8;
57+
border-radius: 12px;
58+
padding: 1rem;
59+
margin-bottom: 1.5rem;
60+
}
61+
62+
.onboarding-header {
63+
margin-bottom: 1rem;
64+
}
65+
66+
.onboarding-header h2 {
67+
font-size: 1.2rem;
68+
margin-bottom: 0.4rem;
69+
}
70+
71+
.onboarding-header p {
72+
color: #595f6b;
73+
font-size: 0.95rem;
74+
}
75+
76+
.onboarding-progress {
77+
width: 100%;
78+
height: 8px;
79+
border-radius: 999px;
80+
background: #edf1f6;
81+
margin-top: 0.75rem;
82+
overflow: hidden;
83+
}
84+
85+
.onboarding-progress-bar {
86+
height: 100%;
87+
background: #1a1a2e;
88+
transition: width 200ms ease;
89+
}
90+
91+
.onboarding-steps {
92+
list-style: none;
93+
display: grid;
94+
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
95+
gap: 0.5rem;
96+
margin-bottom: 1rem;
97+
}
98+
99+
.onboarding-step {
100+
width: 100%;
101+
border: 1px solid #dde2ea;
102+
border-radius: 10px;
103+
background: #f9fbff;
104+
padding: 0.7rem;
105+
text-align: left;
106+
display: flex;
107+
align-items: center;
108+
gap: 0.75rem;
109+
cursor: pointer;
110+
}
111+
112+
.onboarding-step.active {
113+
border-color: #1a1a2e;
114+
background: #f2f5ff;
115+
}
116+
117+
.onboarding-step-index {
118+
width: 1.8rem;
119+
height: 1.8rem;
120+
border-radius: 999px;
121+
background: #1a1a2e;
122+
color: #fff;
123+
display: inline-flex;
124+
align-items: center;
125+
justify-content: center;
126+
font-size: 0.85rem;
127+
font-weight: 600;
128+
}
129+
130+
.onboarding-step-content {
131+
display: grid;
132+
}
133+
134+
.onboarding-step-title {
135+
font-size: 0.95rem;
136+
font-weight: 600;
137+
color: #212633;
138+
}
139+
140+
.onboarding-step-status {
141+
font-size: 0.8rem;
142+
margin-top: 0.2rem;
143+
color: #6c7381;
144+
}
145+
146+
.onboarding-step-status.completed {
147+
color: #067647;
148+
}
149+
150+
.onboarding-step-status.skipped {
151+
color: #b54708;
152+
}
153+
154+
.onboarding-card {
155+
border: 1px solid #dde2ea;
156+
border-radius: 10px;
157+
padding: 1rem;
158+
background: #fff;
159+
}
160+
161+
.onboarding-card h3 {
162+
font-size: 1.05rem;
163+
margin-bottom: 0.5rem;
164+
}
165+
166+
.onboarding-card > p {
167+
color: #4d5565;
168+
margin-bottom: 0.8rem;
169+
}
170+
171+
.onboarding-tutorial {
172+
border-top: 1px solid #edf1f6;
173+
padding-top: 0.8rem;
174+
}
175+
176+
.onboarding-tutorial h4 {
177+
font-size: 0.95rem;
178+
margin-bottom: 0.5rem;
179+
}
180+
181+
.onboarding-tutorial ul {
182+
margin: 0 0 0.75rem 1.2rem;
183+
color: #4d5565;
184+
}
185+
186+
.onboarding-tutorial li {
187+
margin-bottom: 0.35rem;
188+
}
189+
190+
.onboarding-link {
191+
color: #1a1a2e;
192+
font-weight: 600;
193+
text-decoration: none;
194+
}
195+
196+
.onboarding-link:hover {
197+
text-decoration: underline;
198+
}
199+
200+
.onboarding-controls,
201+
.onboarding-actions,
202+
.onboarding-summary-actions {
203+
display: flex;
204+
gap: 0.6rem;
205+
flex-wrap: wrap;
206+
margin-top: 0.9rem;
207+
}
208+
209+
.onboarding-btn {
210+
border: 1px solid transparent;
211+
border-radius: 8px;
212+
padding: 0.45rem 0.75rem;
213+
cursor: pointer;
214+
font-size: 0.9rem;
215+
}
216+
217+
.onboarding-btn:disabled {
218+
cursor: not-allowed;
219+
opacity: 0.6;
220+
}
221+
222+
.onboarding-btn.primary {
223+
background: #1a1a2e;
224+
color: #fff;
225+
}
226+
227+
.onboarding-btn.secondary {
228+
border-color: #ccd4e0;
229+
background: #fff;
230+
color: #2f3746;
231+
}
232+
233+
.onboarding-btn.danger {
234+
border-color: #f2c6c6;
235+
background: #fff5f5;
236+
color: #912018;
237+
}

0 commit comments

Comments
 (0)