@digilogiclabs/create-saas-app 1.14.0 → 1.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/README.md +134 -29
  2. package/bin/index.js +1 -1
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/cli/prompts/project-setup.d.ts.map +1 -1
  5. package/dist/cli/prompts/project-setup.js +45 -12
  6. package/dist/cli/prompts/project-setup.js.map +1 -1
  7. package/dist/generators/template-generator.d.ts.map +1 -1
  8. package/dist/generators/template-generator.js +27 -4
  9. package/dist/generators/template-generator.js.map +1 -1
  10. package/dist/templates/mobile/ui-auth-payments/template/.env.example +20 -0
  11. package/dist/templates/mobile/ui-auth-payments/template/README.md +218 -0
  12. package/dist/templates/mobile/ui-auth-payments/template/app/(tabs)/_layout.tsx +153 -0
  13. package/dist/templates/mobile/ui-auth-payments/template/app/(tabs)/analytics.tsx +668 -0
  14. package/dist/templates/mobile/ui-auth-payments/template/app/(tabs)/billing.tsx +743 -0
  15. package/dist/templates/mobile/ui-auth-payments/template/app/(tabs)/index.tsx +676 -0
  16. package/dist/templates/mobile/ui-auth-payments/template/app/(tabs)/orders.tsx +402 -0
  17. package/dist/templates/mobile/ui-auth-payments/template/app/(tabs)/profile.tsx +580 -0
  18. package/dist/templates/mobile/ui-auth-payments/template/app/_layout.tsx +125 -0
  19. package/dist/templates/mobile/ui-auth-payments/template/app/auth/login.tsx +246 -0
  20. package/dist/templates/mobile/ui-auth-payments/template/app/auth/signup.tsx +362 -0
  21. package/dist/templates/mobile/ui-auth-payments/template/app/onboarding/index.tsx +193 -0
  22. package/dist/templates/mobile/ui-auth-payments/template/app/tour/index.tsx +272 -0
  23. package/dist/templates/mobile/ui-auth-payments/template/app.json +93 -0
  24. package/dist/templates/mobile/ui-auth-payments/template/babel.config.js +23 -0
  25. package/dist/templates/mobile/ui-auth-payments/template/eas.json +45 -0
  26. package/dist/templates/mobile/ui-auth-payments/template/expo-env.d.ts +3 -0
  27. package/dist/templates/mobile/ui-auth-payments/template/jest-setup.ts +74 -0
  28. package/dist/templates/mobile/ui-auth-payments/template/metro.config.js +11 -0
  29. package/dist/templates/mobile/ui-auth-payments/template/package.json +106 -0
  30. package/dist/templates/mobile/ui-auth-payments/template/tsconfig.json +31 -0
  31. package/dist/templates/web/base/template/src/app/dashboard/page.tsx +62 -20
  32. package/dist/templates/web/ui-auth/template/package.json +1 -1
  33. package/dist/templates/web/ui-auth-payments/template/package.json +1 -1
  34. package/dist/templates/web/ui-auth-payments/template/src/app/dashboard/page.tsx +69 -17
  35. package/dist/templates/web/ui-auth-payments-ai/template/package.json +1 -1
  36. package/dist/templates/web/ui-auth-payments-ai/template/src/app/billing/page.tsx +218 -7
  37. package/dist/templates/web/ui-auth-payments-ai/template/src/app/dashboard/page.tsx +62 -9
  38. package/dist/templates/web/ui-auth-payments-ai/template/src/app/onboarding/page.tsx +364 -0
  39. package/dist/templates/web/ui-auth-payments-ai/template/src/app/settings/page.tsx +532 -0
  40. package/dist/templates/web/ui-auth-payments-ai/template/src/components/client/login-form.tsx +70 -51
  41. package/dist/templates/web/ui-auth-payments-ai/template/src/components/client/signup-form.tsx +76 -60
  42. package/dist/templates/web/ui-auth-payments-ai/template/src/components/shared/header.tsx +1 -1
  43. package/dist/templates/web/ui-auth-payments-audio/template/package.json +1 -1
  44. package/dist/templates/web/ui-auth-payments-audio/template/src/app/dashboard/page.tsx +71 -17
  45. package/dist/templates/web/ui-auth-payments-audio/template/src/components/shared/header.tsx +1 -1
  46. package/dist/templates/web/ui-auth-payments-video/template/package.json +1 -1
  47. package/package.json +1 -1
  48. package/src/templates/mobile/ui-auth-payments/template/.env.example +20 -0
  49. package/src/templates/mobile/ui-auth-payments/template/README.md +218 -0
  50. package/src/templates/mobile/ui-auth-payments/template/app/(tabs)/_layout.tsx +153 -0
  51. package/src/templates/mobile/ui-auth-payments/template/app/(tabs)/analytics.tsx +668 -0
  52. package/src/templates/mobile/ui-auth-payments/template/app/(tabs)/billing.tsx +743 -0
  53. package/src/templates/mobile/ui-auth-payments/template/app/(tabs)/index.tsx +676 -0
  54. package/src/templates/mobile/ui-auth-payments/template/app/(tabs)/orders.tsx +402 -0
  55. package/src/templates/mobile/ui-auth-payments/template/app/(tabs)/profile.tsx +580 -0
  56. package/src/templates/mobile/ui-auth-payments/template/app/_layout.tsx +125 -0
  57. package/src/templates/mobile/ui-auth-payments/template/app/auth/login.tsx +246 -0
  58. package/src/templates/mobile/ui-auth-payments/template/app/auth/signup.tsx +362 -0
  59. package/src/templates/mobile/ui-auth-payments/template/app/onboarding/index.tsx +193 -0
  60. package/src/templates/mobile/ui-auth-payments/template/app/tour/index.tsx +272 -0
  61. package/src/templates/mobile/ui-auth-payments/template/app.json +93 -0
  62. package/src/templates/mobile/ui-auth-payments/template/babel.config.js +23 -0
  63. package/src/templates/mobile/ui-auth-payments/template/eas.json +45 -0
  64. package/src/templates/mobile/ui-auth-payments/template/expo-env.d.ts +3 -0
  65. package/src/templates/mobile/ui-auth-payments/template/jest-setup.ts +74 -0
  66. package/src/templates/mobile/ui-auth-payments/template/metro.config.js +11 -0
  67. package/src/templates/mobile/ui-auth-payments/template/package.json +106 -0
  68. package/src/templates/mobile/ui-auth-payments/template/tsconfig.json +31 -0
  69. package/src/templates/web/base/template/src/app/dashboard/page.tsx +62 -20
  70. package/src/templates/web/ui-auth/template/package.json +1 -1
  71. package/src/templates/web/ui-auth-payments/template/package.json +1 -1
  72. package/src/templates/web/ui-auth-payments/template/src/app/dashboard/page.tsx +69 -17
  73. package/src/templates/web/ui-auth-payments-ai/template/package.json +1 -1
  74. package/src/templates/web/ui-auth-payments-ai/template/src/app/billing/page.tsx +218 -7
  75. package/src/templates/web/ui-auth-payments-ai/template/src/app/dashboard/page.tsx +62 -9
  76. package/src/templates/web/ui-auth-payments-ai/template/src/app/onboarding/page.tsx +364 -0
  77. package/src/templates/web/ui-auth-payments-ai/template/src/app/settings/page.tsx +532 -0
  78. package/src/templates/web/ui-auth-payments-ai/template/src/components/client/login-form.tsx +70 -51
  79. package/src/templates/web/ui-auth-payments-ai/template/src/components/client/signup-form.tsx +76 -60
  80. package/src/templates/web/ui-auth-payments-ai/template/src/components/shared/header.tsx +1 -1
  81. package/src/templates/web/ui-auth-payments-audio/template/package.json +1 -1
  82. package/src/templates/web/ui-auth-payments-audio/template/src/app/dashboard/page.tsx +71 -17
  83. package/src/templates/web/ui-auth-payments-audio/template/src/components/shared/header.tsx +1 -1
  84. package/src/templates/web/ui-auth-payments-video/template/package.json +1 -1
@@ -1,6 +1,23 @@
1
1
  import { Suspense } from 'react'
2
- import { Button, Card } from '@digilogiclabs/saas-factory-ui'
3
- import { User, Settings, CreditCard, Activity } from 'lucide-react'
2
+ import {
3
+ Button,
4
+ Card,
5
+ DashboardLayout,
6
+ CommandPalette,
7
+ Tour
8
+ } from '@digilogiclabs/saas-factory-ui'
9
+ import {
10
+ User,
11
+ Settings,
12
+ CreditCard,
13
+ Activity,
14
+ Home,
15
+ Brain,
16
+ Users,
17
+ BarChart,
18
+ Plus,
19
+ Search
20
+ } from 'lucide-react'
4
21
  import { requireAuth } from '@/lib/auth-server'
5
22
  import Link from 'next/link'
6
23
 
@@ -90,11 +107,44 @@ export default async function DashboardPage() {
90
107
  // Server-side authentication requirement
91
108
  const user = await requireAuth()
92
109
 
110
+ const sidebarNavigation = [
111
+ { name: 'Overview', href: '/dashboard', icon: Home, current: true },
112
+ { name: 'Profile', href: '/profile', icon: User },
113
+ { name: 'Settings', href: '/settings', icon: Settings },
114
+ { name: 'Billing', href: '/billing', icon: CreditCard },
115
+ { name: 'Analytics', href: '/analytics', icon: BarChart }
116
+ ]
117
+
118
+ const tourSteps = [
119
+ {
120
+ target: '[data-tour="overview"]',
121
+ title: 'Dashboard Overview',
122
+ content: 'Get a quick overview of your account stats and recent activity.'
123
+ },
124
+ {
125
+ target: '[data-tour="stats"]',
126
+ title: 'Account Statistics',
127
+ content: 'View your key metrics and performance indicators here.'
128
+ },
129
+ {
130
+ target: '[data-tour="actions"]',
131
+ title: 'Quick Actions',
132
+ content: 'Access your most commonly used features from these cards.'
133
+ }
134
+ ]
135
+
93
136
  return (
94
- <div className="min-h-screen bg-gray-50 dark:bg-gray-900">
95
- <div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
137
+ <DashboardLayout
138
+ navigation={sidebarNavigation}
139
+ headerActions={[
140
+ <CommandPalette key="command-palette" />,
141
+ <Tour key="tour" steps={tourSteps} />
142
+ ]}
143
+ >
144
+ <div className="min-h-screen bg-gray-50 dark:bg-gray-900">
145
+ <div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
96
146
  {/* Header */}
97
- <div className="mb-8">
147
+ <div className="mb-8" data-tour="overview">
98
148
  <h1 className="text-3xl font-bold text-gray-900 dark:text-white">
99
149
  Welcome back, {user.name || user.email}!
100
150
  </h1>
@@ -104,12 +154,14 @@ export default async function DashboardPage() {
104
154
  </div>
105
155
 
106
156
  {/* Stats - Streaming with Suspense */}
107
- <Suspense fallback={<UserStatsSkeleton />}>
108
- <UserStats userId={user.id} />
109
- </Suspense>
157
+ <div data-tour="stats">
158
+ <Suspense fallback={<UserStatsSkeleton />}>
159
+ <UserStats userId={user.id} />
160
+ </Suspense>
161
+ </div>
110
162
 
111
163
  {/* Quick Actions */}
112
- <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 mb-8">
164
+ <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 mb-8" data-tour="actions">
113
165
  <Card className="p-6">
114
166
  <div className="flex items-center mb-4">
115
167
  <User className="h-6 w-6 text-blue-600 dark:text-blue-400 mr-3" />
@@ -179,5 +231,6 @@ export default async function DashboardPage() {
179
231
  </Card>
180
232
  </div>
181
233
  </div>
234
+ </DashboardLayout>
182
235
  )
183
236
  }
@@ -0,0 +1,364 @@
1
+ 'use client'
2
+
3
+ import React from 'react'
4
+ import {
5
+ MultiStepForm,
6
+ FormField,
7
+ FormSection,
8
+ FormProvider,
9
+ Card,
10
+ MobileContainer,
11
+ PageTransition
12
+ } from '@digilogiclabs/saas-factory-ui'
13
+ import { useAuth } from '@digilogiclabs/saas-factory-auth'
14
+ import { useRouter } from 'next/navigation'
15
+ import {
16
+ User,
17
+ Brain,
18
+ Users,
19
+ Target,
20
+ CreditCard,
21
+ CheckCircle,
22
+ ArrowLeft
23
+ } from 'lucide-react'
24
+ import Link from 'next/link'
25
+
26
+ export default function OnboardingPage() {
27
+ const { user } = useAuth()
28
+ const router = useRouter()
29
+
30
+ const handleOnboardingComplete = async (formData: FormData) => {
31
+ console.log('Onboarding completed:', Object.fromEntries(formData))
32
+ // Save onboarding data to user profile
33
+ // Redirect to main app
34
+ router.push('/dashboard')
35
+ }
36
+
37
+ if (!user) {
38
+ router.push('/login')
39
+ return null
40
+ }
41
+
42
+ return (
43
+ <PageTransition type="slide" direction="up" duration={300}>
44
+ <main className="min-h-screen bg-gradient-to-br from-primary/5 via-background to-secondary/5">
45
+ <MobileContainer className="py-8">
46
+ {/* Header */}
47
+ <div className="flex items-center justify-between mb-8">
48
+ <div className="flex items-center gap-4">
49
+ <Link href="/" className="p-2 rounded-xl bg-white/10 backdrop-blur-md border border-white/20 hover:scale-105 transition-transform">
50
+ <ArrowLeft className="w-5 h-5" />
51
+ </Link>
52
+ <div>
53
+ <h1 className="text-2xl font-bold">Welcome to {{projectName}}</h1>
54
+ <p className="text-gray-600 dark:text-gray-300">Let's get you set up</p>
55
+ </div>
56
+ </div>
57
+ </div>
58
+
59
+ {/* Multi-Step Onboarding Form */}
60
+ <Card className="max-w-4xl mx-auto p-8">
61
+ <FormProvider>
62
+ <MultiStepForm
63
+ onComplete={handleOnboardingComplete}
64
+ autoSave={true}
65
+ progressTracking={true}
66
+ allowSkip={false}
67
+ steps={[
68
+ {
69
+ id: 'profile',
70
+ title: 'Personal Information',
71
+ description: 'Tell us about yourself',
72
+ icon: User,
73
+ fields: [
74
+ {
75
+ name: 'fullName',
76
+ type: 'text',
77
+ label: 'Full Name',
78
+ placeholder: 'Enter your full name',
79
+ validation: ['required', 'minLength:2'],
80
+ defaultValue: user.user_metadata?.full_name || ''
81
+ },
82
+ {
83
+ name: 'company',
84
+ type: 'text',
85
+ label: 'Company',
86
+ placeholder: 'Enter your company name',
87
+ validation: ['required']
88
+ },
89
+ {
90
+ name: 'role',
91
+ type: 'select',
92
+ label: 'Role',
93
+ placeholder: 'Select your role',
94
+ options: [
95
+ { value: 'developer', label: 'Developer' },
96
+ { value: 'designer', label: 'Designer' },
97
+ { value: 'product-manager', label: 'Product Manager' },
98
+ { value: 'entrepreneur', label: 'Entrepreneur' },
99
+ { value: 'content-creator', label: 'Content Creator' },
100
+ { value: 'student', label: 'Student' },
101
+ { value: 'other', label: 'Other' }
102
+ ],
103
+ validation: ['required']
104
+ },
105
+ {
106
+ name: 'industry',
107
+ type: 'select',
108
+ label: 'Industry',
109
+ placeholder: 'Select your industry',
110
+ options: [
111
+ { value: 'technology', label: 'Technology' },
112
+ { value: 'healthcare', label: 'Healthcare' },
113
+ { value: 'finance', label: 'Finance' },
114
+ { value: 'education', label: 'Education' },
115
+ { value: 'media', label: 'Media & Entertainment' },
116
+ { value: 'retail', label: 'Retail' },
117
+ { value: 'manufacturing', label: 'Manufacturing' },
118
+ { value: 'other', label: 'Other' }
119
+ ],
120
+ validation: ['required']
121
+ }
122
+ ]
123
+ },
124
+ {
125
+ id: 'ai-preferences',
126
+ title: 'AI Preferences',
127
+ description: 'Customize your AI experience',
128
+ icon: Brain,
129
+ component: (
130
+ <div className="space-y-6">
131
+ <FormSection title="AI Usage Goals" className="space-y-4">
132
+ <FormField
133
+ name="usageGoals"
134
+ type="multiSelect"
135
+ label="What do you plan to use AI for?"
136
+ options={[
137
+ { value: 'content-creation', label: 'Content Creation' },
138
+ { value: 'code-generation', label: 'Code Generation' },
139
+ { value: 'data-analysis', label: 'Data Analysis' },
140
+ { value: 'customer-support', label: 'Customer Support' },
141
+ { value: 'marketing', label: 'Marketing & SEO' },
142
+ { value: 'research', label: 'Research & Analysis' },
143
+ { value: 'automation', label: 'Workflow Automation' },
144
+ { value: 'creative-projects', label: 'Creative Projects' }
145
+ ]}
146
+ validation={['required']}
147
+ helpText="Select all that apply"
148
+ />
149
+ </FormSection>
150
+
151
+ <FormSection title="Content Preferences" className="space-y-4">
152
+ <FormField
153
+ name="contentTypes"
154
+ type="multiSelect"
155
+ label="What types of content do you create?"
156
+ options={[
157
+ { value: 'text', label: 'Text & Articles' },
158
+ { value: 'audio', label: 'Audio & Podcasts' },
159
+ { value: 'video', label: 'Video Content' },
160
+ { value: 'images', label: 'Images & Graphics' },
161
+ { value: 'presentations', label: 'Presentations' },
162
+ { value: 'social-media', label: 'Social Media Posts' },
163
+ { value: 'documentation', label: 'Documentation' },
164
+ { value: 'code', label: 'Code & Technical Content' }
165
+ ]}
166
+ validation: ['required']
167
+ />
168
+
169
+ <FormField
170
+ name: 'creativityLevel'
171
+ type: 'range'
172
+ label: 'Creativity Level'
173
+ min: 0
174
+ max: 100
175
+ defaultValue: 50
176
+ helpText: 'Lower values are more conservative, higher values are more creative'
177
+ showValue: true
178
+ />
179
+ </FormSection>
180
+
181
+ <FormSection title="AI Model Preferences" className="space-y-4">
182
+ <FormField
183
+ name="preferredModels"
184
+ type="multiSelect"
185
+ label="Preferred AI Models"
186
+ options={[
187
+ { value: 'gpt-4', label: 'GPT-4 (Text & Chat)' },
188
+ { value: 'gpt-4-turbo', label: 'GPT-4 Turbo (Faster)' },
189
+ { value: 'claude-3', label: 'Claude 3 (Analysis)' },
190
+ { value: 'elevenlabs', label: 'ElevenLabs (Voice)' },
191
+ { value: 'whisper', label: 'Whisper (Speech-to-Text)' },
192
+ { value: 'dall-e', label: 'DALL-E (Images)' },
193
+ { value: 'stable-diffusion', label: 'Stable Diffusion (Images)' }
194
+ ]}
195
+ helpText="We'll prioritize these models for your requests"
196
+ />
197
+ </FormSection>
198
+ </div>
199
+ )
200
+ },
201
+ {
202
+ id: 'team-setup',
203
+ title: 'Team Setup',
204
+ description: 'Set up your team and collaboration',
205
+ icon: Users,
206
+ fields: [
207
+ {
208
+ name: 'teamSize',
209
+ type: 'select',
210
+ label: 'Team Size',
211
+ placeholder: 'Select your team size',
212
+ options: [
213
+ { value: 'solo', label: 'Just me' },
214
+ { value: 'small', label: '2-5 people' },
215
+ { value: 'medium', label: '6-20 people' },
216
+ { value: 'large', label: '21-100 people' },
217
+ { value: 'enterprise', label: '100+ people' }
218
+ ],
219
+ validation: ['required']
220
+ },
221
+ {
222
+ name: 'inviteMembers',
223
+ type: 'textarea',
224
+ label: 'Invite Team Members',
225
+ placeholder: 'Enter email addresses, one per line',
226
+ helpText: 'Invite your team members to collaborate (optional)',
227
+ rows: 4
228
+ },
229
+ {
230
+ name: 'workspacePreferences',
231
+ type: 'multiSelect',
232
+ label: 'Workspace Features',
233
+ options: [
234
+ { value: 'shared-projects', label: 'Shared Projects' },
235
+ { value: 'team-templates', label: 'Team Templates' },
236
+ { value: 'usage-analytics', label: 'Usage Analytics' },
237
+ { value: 'approval-workflows', label: 'Approval Workflows' },
238
+ { value: 'brand-guidelines', label: 'Brand Guidelines' },
239
+ { value: 'api-access', label: 'API Access' }
240
+ ],
241
+ helpText: 'Features you'd like enabled for your team'
242
+ }
243
+ ]
244
+ },
245
+ {
246
+ id: 'subscription',
247
+ title: 'Choose Your Plan',
248
+ description: 'Select a plan that fits your needs',
249
+ icon: CreditCard,
250
+ component: (
251
+ <div className="space-y-6">
252
+ <FormField
253
+ name="selectedPlan"
254
+ type="radio"
255
+ label="Choose Your Plan"
256
+ options={[
257
+ {
258
+ value: 'starter',
259
+ label: 'Starter Plan',
260
+ description: 'Perfect for individuals and small projects',
261
+ price: '$9/month',
262
+ features: [
263
+ '1,000 AI requests/month',
264
+ 'Basic AI models',
265
+ 'Email support',
266
+ '5GB storage'
267
+ ]
268
+ },
269
+ {
270
+ value: 'pro',
271
+ label: 'Pro Plan',
272
+ description: 'Best for growing teams and businesses',
273
+ price: '$29/month',
274
+ features: [
275
+ '10,000 AI requests/month',
276
+ 'Advanced AI models',
277
+ 'Priority support',
278
+ '50GB storage',
279
+ 'Team collaboration',
280
+ 'API access'
281
+ ],
282
+ recommended: true
283
+ },
284
+ {
285
+ value: 'enterprise',
286
+ label: 'Enterprise Plan',
287
+ description: 'For large organizations with custom needs',
288
+ price: 'Custom pricing',
289
+ features: [
290
+ 'Unlimited AI requests',
291
+ 'All AI models',
292
+ 'Dedicated support',
293
+ 'Unlimited storage',
294
+ 'Advanced security',
295
+ 'Custom integrations'
296
+ ]
297
+ }
298
+ ]}
299
+ validation={['required']}
300
+ />
301
+
302
+ <FormField
303
+ name="billingInterval"
304
+ type="radio"
305
+ label="Billing Interval"
306
+ options={[
307
+ { value: 'monthly', label: 'Monthly billing' },
308
+ { value: 'yearly', label: 'Yearly billing (save 20%)' }
309
+ ]}
310
+ defaultValue="monthly"
311
+ validation={['required']}
312
+ />
313
+ </div>
314
+ )
315
+ },
316
+ {
317
+ id: 'completion',
318
+ title: 'All Set!',
319
+ description: 'Your account is ready to go',
320
+ icon: CheckCircle,
321
+ component: (
322
+ <div className="text-center space-y-6">
323
+ <div className="w-16 h-16 bg-green-500 rounded-full flex items-center justify-center mx-auto">
324
+ <CheckCircle className="w-8 h-8 text-white" />
325
+ </div>
326
+ <div>
327
+ <h3 className="text-xl font-semibold mb-2">Welcome to {{projectName}}!</h3>
328
+ <p className="text-gray-600 dark:text-gray-300">
329
+ Your account has been set up successfully. You're ready to start using AI to supercharge your productivity.
330
+ </p>
331
+ </div>
332
+ <div className="grid grid-cols-1 md:grid-cols-3 gap-4 text-sm">
333
+ <div className="p-4 rounded-lg bg-blue-50 dark:bg-blue-900/20">
334
+ <Brain className="w-6 h-6 text-blue-500 mx-auto mb-2" />
335
+ <div className="font-medium">AI Tools Ready</div>
336
+ <div className="text-gray-600 dark:text-gray-400">Access all AI capabilities</div>
337
+ </div>
338
+ <div className="p-4 rounded-lg bg-green-50 dark:bg-green-900/20">
339
+ <Users className="w-6 h-6 text-green-500 mx-auto mb-2" />
340
+ <div className="font-medium">Team Configured</div>
341
+ <div className="text-gray-600 dark:text-gray-400">Collaboration features enabled</div>
342
+ </div>
343
+ <div className="p-4 rounded-lg bg-purple-50 dark:bg-purple-900/20">
344
+ <Target className="w-6 h-6 text-purple-500 mx-auto mb-2" />
345
+ <div className="font-medium">Goals Set</div>
346
+ <div className="text-gray-600 dark:text-gray-400">Personalized experience ready</div>
347
+ </div>
348
+ </div>
349
+ </div>
350
+ )
351
+ }
352
+ ]}
353
+ submitButtonText="Complete Setup"
354
+ nextButtonText="Continue"
355
+ previousButtonText="Back"
356
+ className="space-y-6"
357
+ />
358
+ </FormProvider>
359
+ </Card>
360
+ </MobileContainer>
361
+ </main>
362
+ </PageTransition>
363
+ )
364
+ }