@digilogiclabs/create-saas-app 1.17.0 → 1.18.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 (119) hide show
  1. package/CHANGELOG.md +82 -0
  2. package/README.md +153 -12
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/cli/commands/create.d.ts.map +1 -1
  5. package/dist/cli/commands/create.js +6 -2
  6. package/dist/cli/commands/create.js.map +1 -1
  7. package/dist/cli/index.js +1 -1
  8. package/dist/cli/index.js.map +1 -1
  9. package/dist/cli/prompts/project-setup.d.ts.map +1 -1
  10. package/dist/cli/prompts/project-setup.js +4 -0
  11. package/dist/cli/prompts/project-setup.js.map +1 -1
  12. package/dist/generators/template-generator.d.ts.map +1 -1
  13. package/dist/generators/template-generator.js +13 -7
  14. package/dist/generators/template-generator.js.map +1 -1
  15. package/dist/templates/mobile/base/template/App.tsx +2 -0
  16. package/dist/templates/mobile/ui-auth-payments/template/app/(tabs)/index.tsx +85 -4
  17. package/dist/templates/mobile/ui-auth-payments/template/app/_layout.tsx +2 -0
  18. package/dist/templates/mobile/ui-auth-payments-ai/template/.env.example +23 -0
  19. package/dist/templates/mobile/ui-auth-payments-ai/template/README.md +254 -0
  20. package/dist/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/_layout.tsx +169 -0
  21. package/dist/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/ai.tsx +522 -0
  22. package/dist/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/analytics.tsx +668 -0
  23. package/dist/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/billing.tsx +743 -0
  24. package/dist/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/index.tsx +676 -0
  25. package/dist/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/orders.tsx +402 -0
  26. package/dist/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/profile.tsx +580 -0
  27. package/dist/templates/mobile/ui-auth-payments-ai/template/app/_layout.tsx +127 -0
  28. package/dist/templates/mobile/ui-auth-payments-ai/template/app/auth/login.tsx +246 -0
  29. package/dist/templates/mobile/ui-auth-payments-ai/template/app/auth/signup.tsx +362 -0
  30. package/dist/templates/mobile/ui-auth-payments-ai/template/app/onboarding/index.tsx +193 -0
  31. package/dist/templates/mobile/ui-auth-payments-ai/template/app/tour/index.tsx +272 -0
  32. package/dist/templates/mobile/ui-auth-payments-ai/template/app.json +93 -0
  33. package/dist/templates/mobile/ui-auth-payments-ai/template/babel.config.js +23 -0
  34. package/dist/templates/mobile/ui-auth-payments-ai/template/eas.json +45 -0
  35. package/dist/templates/mobile/ui-auth-payments-ai/template/expo-env.d.ts +3 -0
  36. package/dist/templates/mobile/ui-auth-payments-ai/template/jest-setup.ts +74 -0
  37. package/dist/templates/mobile/ui-auth-payments-ai/template/metro.config.js +11 -0
  38. package/dist/templates/mobile/ui-auth-payments-ai/template/package.json +108 -0
  39. package/dist/templates/mobile/ui-auth-payments-ai/template/tsconfig.json +31 -0
  40. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/README.md +655 -0
  41. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/app/(tabs)/ai.tsx +683 -0
  42. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/docs/MOBILE-SETUP.md +787 -0
  43. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/hooks/useRAGSystem.ts +346 -0
  44. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/lib/rag/config.ts +180 -0
  45. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/package.json +113 -0
  46. package/dist/templates/mobile/ui-auth-payments-ai-rag/template/scripts/setup-rag.js +599 -0
  47. package/dist/templates/web/base/template/src/app/loading.tsx +45 -27
  48. package/dist/templates/web/base/template/src/components/providers/app-providers.tsx +2 -0
  49. package/dist/templates/web/ui-auth/template/src/app/loading.tsx +30 -12
  50. package/dist/templates/web/ui-auth/template/src/components/providers/app-providers.tsx +2 -0
  51. package/dist/templates/web/ui-auth/template/src/components/shared/header.tsx +43 -2
  52. package/dist/templates/web/ui-auth-ai/template/package.json +1 -1
  53. package/dist/templates/web/ui-auth-payments/template/src/components/providers/app-providers.tsx +2 -0
  54. package/dist/templates/web/ui-auth-payments-ai/template/src/components/providers/app-providers.tsx +2 -0
  55. package/dist/templates/web/ui-auth-payments-ai-rag/template/README.md +434 -0
  56. package/dist/templates/web/ui-auth-payments-ai-rag/template/components/rag/KnowledgeManager.tsx +642 -0
  57. package/dist/templates/web/ui-auth-payments-ai-rag/template/components/rag/RAGAnalytics.tsx +466 -0
  58. package/dist/templates/web/ui-auth-payments-ai-rag/template/components/rag/RAGChatInterface.tsx +393 -0
  59. package/dist/templates/web/ui-auth-payments-ai-rag/template/docs/GETTING-STARTED.md +457 -0
  60. package/dist/templates/web/ui-auth-payments-ai-rag/template/hooks/useRAGSystem.ts +478 -0
  61. package/dist/templates/web/ui-auth-payments-ai-rag/template/lib/rag/config.ts +250 -0
  62. package/dist/templates/web/ui-auth-payments-ai-rag/template/package.json +74 -0
  63. package/dist/templates/web/ui-auth-payments-ai-rag/template/scripts/setup-rag.js +622 -0
  64. package/dist/templates/web/ui-auth-payments-ai-rag/template/src/app/ai/page.tsx +396 -0
  65. package/dist/templates/web/ui-auth-payments-audio/template/src/components/providers/app-providers.tsx +2 -0
  66. package/dist/templates/web/ui-auth-payments-video/template/src/components/providers/app-providers.tsx +2 -0
  67. package/package.json +1 -1
  68. package/src/templates/mobile/base/template/App.tsx +2 -0
  69. package/src/templates/mobile/ui-auth-payments/template/app/(tabs)/index.tsx +85 -4
  70. package/src/templates/mobile/ui-auth-payments/template/app/_layout.tsx +2 -0
  71. package/src/templates/mobile/ui-auth-payments-ai/template/.env.example +23 -0
  72. package/src/templates/mobile/ui-auth-payments-ai/template/README.md +254 -0
  73. package/src/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/_layout.tsx +169 -0
  74. package/src/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/ai.tsx +522 -0
  75. package/src/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/analytics.tsx +668 -0
  76. package/src/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/billing.tsx +743 -0
  77. package/src/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/index.tsx +676 -0
  78. package/src/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/orders.tsx +402 -0
  79. package/src/templates/mobile/ui-auth-payments-ai/template/app/(tabs)/profile.tsx +580 -0
  80. package/src/templates/mobile/ui-auth-payments-ai/template/app/_layout.tsx +127 -0
  81. package/src/templates/mobile/ui-auth-payments-ai/template/app/auth/login.tsx +246 -0
  82. package/src/templates/mobile/ui-auth-payments-ai/template/app/auth/signup.tsx +362 -0
  83. package/src/templates/mobile/ui-auth-payments-ai/template/app/onboarding/index.tsx +193 -0
  84. package/src/templates/mobile/ui-auth-payments-ai/template/app/tour/index.tsx +272 -0
  85. package/src/templates/mobile/ui-auth-payments-ai/template/app.json +93 -0
  86. package/src/templates/mobile/ui-auth-payments-ai/template/babel.config.js +23 -0
  87. package/src/templates/mobile/ui-auth-payments-ai/template/eas.json +45 -0
  88. package/src/templates/mobile/ui-auth-payments-ai/template/expo-env.d.ts +3 -0
  89. package/src/templates/mobile/ui-auth-payments-ai/template/jest-setup.ts +74 -0
  90. package/src/templates/mobile/ui-auth-payments-ai/template/metro.config.js +11 -0
  91. package/src/templates/mobile/ui-auth-payments-ai/template/package.json +108 -0
  92. package/src/templates/mobile/ui-auth-payments-ai/template/tsconfig.json +31 -0
  93. package/src/templates/mobile/ui-auth-payments-ai-rag/template/README.md +655 -0
  94. package/src/templates/mobile/ui-auth-payments-ai-rag/template/app/(tabs)/ai.tsx +683 -0
  95. package/src/templates/mobile/ui-auth-payments-ai-rag/template/docs/MOBILE-SETUP.md +787 -0
  96. package/src/templates/mobile/ui-auth-payments-ai-rag/template/hooks/useRAGSystem.ts +346 -0
  97. package/src/templates/mobile/ui-auth-payments-ai-rag/template/lib/rag/config.ts +180 -0
  98. package/src/templates/mobile/ui-auth-payments-ai-rag/template/package.json +113 -0
  99. package/src/templates/mobile/ui-auth-payments-ai-rag/template/scripts/setup-rag.js +599 -0
  100. package/src/templates/web/base/template/src/app/loading.tsx +45 -27
  101. package/src/templates/web/base/template/src/components/providers/app-providers.tsx +2 -0
  102. package/src/templates/web/ui-auth/template/src/app/loading.tsx +30 -12
  103. package/src/templates/web/ui-auth/template/src/components/providers/app-providers.tsx +2 -0
  104. package/src/templates/web/ui-auth/template/src/components/shared/header.tsx +43 -2
  105. package/src/templates/web/ui-auth-ai/template/package.json +1 -1
  106. package/src/templates/web/ui-auth-payments/template/src/components/providers/app-providers.tsx +2 -0
  107. package/src/templates/web/ui-auth-payments-ai/template/src/components/providers/app-providers.tsx +2 -0
  108. package/src/templates/web/ui-auth-payments-ai-rag/template/README.md +434 -0
  109. package/src/templates/web/ui-auth-payments-ai-rag/template/components/rag/KnowledgeManager.tsx +642 -0
  110. package/src/templates/web/ui-auth-payments-ai-rag/template/components/rag/RAGAnalytics.tsx +466 -0
  111. package/src/templates/web/ui-auth-payments-ai-rag/template/components/rag/RAGChatInterface.tsx +393 -0
  112. package/src/templates/web/ui-auth-payments-ai-rag/template/docs/GETTING-STARTED.md +457 -0
  113. package/src/templates/web/ui-auth-payments-ai-rag/template/hooks/useRAGSystem.ts +478 -0
  114. package/src/templates/web/ui-auth-payments-ai-rag/template/lib/rag/config.ts +250 -0
  115. package/src/templates/web/ui-auth-payments-ai-rag/template/package.json +74 -0
  116. package/src/templates/web/ui-auth-payments-ai-rag/template/scripts/setup-rag.js +622 -0
  117. package/src/templates/web/ui-auth-payments-ai-rag/template/src/app/ai/page.tsx +396 -0
  118. package/src/templates/web/ui-auth-payments-audio/template/src/components/providers/app-providers.tsx +2 -0
  119. package/src/templates/web/ui-auth-payments-video/template/src/components/providers/app-providers.tsx +2 -0
@@ -0,0 +1,254 @@
1
+ # {{titleCaseName}} - AI-Powered Mobile SaaS
2
+
3
+ A complete mobile AI application built with React Native, Expo, and Digi Logic Labs packages. Features comprehensive AI generation capabilities including text, audio, and video generation.
4
+
5
+ ## 🚀 Quick Start
6
+
7
+ ```bash
8
+ # Install dependencies
9
+ npm install
10
+
11
+ # Start the development server
12
+ npm run dev
13
+
14
+ # Run on iOS simulator
15
+ npm run ios
16
+
17
+ # Run on Android emulator
18
+ npm run android
19
+
20
+ # Run on web
21
+ npm run web
22
+ ```
23
+
24
+ ## 🤖 AI Features
25
+
26
+ ### Text Generation
27
+ - **OpenAI GPT-4 Integration** - Advanced text generation
28
+ - **Multiple Templates** - Blog posts, emails, social media, code docs
29
+ - **Real-time Generation** - Stream responses as they're generated
30
+ - **Word Count Tracking** - Monitor generation length
31
+ - **Export Options** - Save, copy, and share generated content
32
+
33
+ ### Audio Generation
34
+ - **ElevenLabs Integration** - High-quality voice synthesis
35
+ - **Multiple Voices** - Choose from 6 different AI voices
36
+ - **Format Support** - MP3, WAV, OGG output formats
37
+ - **Waveform Display** - Visual audio representation
38
+ - **Duration Control** - Up to 5 minutes of audio
39
+
40
+ ### Video Generation
41
+ - **Replicate Integration** - AI-powered video creation
42
+ - **Style Options** - Photorealistic, cartoon, anime, watercolor
43
+ - **HD Output** - 1080p video generation
44
+ - **Preview Support** - See previews before final generation
45
+ - **Multiple Formats** - MP4, WebM support
46
+
47
+ ### AI Chat
48
+ - **Interactive Chat** - Conversational AI interface
49
+ - **Context Retention** - Maintains conversation history
50
+ - **Typing Indicators** - Shows when AI is responding
51
+ - **Message Management** - Up to 50 messages per session
52
+
53
+ ## 📱 Core Features
54
+
55
+ - **✅ Authentication** - Secure user management with Supabase
56
+ - **💳 Payments** - Stripe integration for subscriptions
57
+ - **🎨 Modern UI** - 240+ components from @digilogiclabs/saas-factory-ui v0.22.0
58
+ - **📱 Native Experience** - Optimized for iOS and Android
59
+ - **🌓 Theme Support** - Light/dark modes with system preference
60
+ - **🔄 Offline Support** - Cached AI responses and offline capabilities
61
+ - **📊 Usage Analytics** - Track AI generation statistics
62
+ - **🎯 Haptic Feedback** - Enhanced mobile interaction
63
+
64
+ ## 🏗️ Tech Stack
65
+
66
+ - **React Native** 0.73+ with Expo 50+
67
+ - **TypeScript** for type safety
68
+ - **Expo Router** for navigation
69
+ - **Stripe** for payments
70
+ - **Supabase** for backend services
71
+ - **React Hook Form** + Zod for form validation
72
+ - **@digilogiclabs/saas-factory-ui** for UI components (v0.22.0)
73
+ - **@digilogiclabs/saas-factory-auth** for authentication (v1.0.1)
74
+ - **@digilogiclabs/saas-factory-payments** for payment processing (v1.1.0)
75
+ - **@digilogiclabs/saas-factory-ai** for AI capabilities (v3.0.0)
76
+
77
+ ## 📦 Project Structure
78
+
79
+ ```
80
+ ├── app/ # Expo Router pages
81
+ │ ├── (tabs)/ # Main app tabs
82
+ │ │ ├── index.tsx # Dashboard
83
+ │ │ ├── ai.tsx # AI Studio with generation tools
84
+ │ │ ├── orders.tsx # Orders list
85
+ │ │ ├── analytics.tsx # Analytics dashboard
86
+ │ │ ├── billing.tsx # Payments & billing
87
+ │ │ └── profile.tsx # User profile
88
+ │ ├── auth/ # Authentication screens
89
+ │ │ ├── login.tsx # Sign in
90
+ │ │ └── signup.tsx # Sign up
91
+ │ └── _layout.tsx # Root layout with providers
92
+ ├── components/ # Reusable components
93
+ ├── hooks/ # Custom hooks
94
+ ├── utils/ # Utility functions
95
+ ├── types/ # TypeScript types
96
+ └── constants/ # App constants
97
+ ```
98
+
99
+ ## 🔧 Configuration
100
+
101
+ ### Environment Variables
102
+
103
+ Copy `.env.example` to `.env` and update the values:
104
+
105
+ ```bash
106
+ # Supabase
107
+ EXPO_PUBLIC_SUPABASE_URL=your-supabase-url
108
+ EXPO_PUBLIC_SUPABASE_ANON_KEY=your-supabase-anon-key
109
+
110
+ # Stripe
111
+ EXPO_PUBLIC_STRIPE_PUBLISHABLE_KEY=your-stripe-publishable-key
112
+
113
+ # AI Configuration
114
+ EXPO_PUBLIC_OPENAI_API_KEY=your-openai-api-key
115
+ EXPO_PUBLIC_ELEVENLABS_API_KEY=your-elevenlabs-api-key
116
+ EXPO_PUBLIC_REPLICATE_API_TOKEN=your-replicate-api-token
117
+
118
+ # App Configuration
119
+ EXPO_PUBLIC_APP_NAME={{titleCaseName}}
120
+ ```
121
+
122
+ ### EAS Configuration
123
+
124
+ For building and deploying with EAS Build:
125
+
126
+ 1. Install EAS CLI: `npm install -g eas-cli`
127
+ 2. Login: `eas login`
128
+ 3. Configure: `eas build:configure`
129
+ 4. Build: `eas build --platform all`
130
+
131
+ ## 🔒 Permissions
132
+
133
+ The app requests the following permissions:
134
+
135
+ - **Camera**: Profile photos and QR code scanning
136
+ - **Location**: Delivery tracking and location services
137
+ - **Notifications**: Order updates and push notifications
138
+ - **Storage**: Offline caching and data storage
139
+
140
+ ## 🎨 UI Components
141
+
142
+ This app uses the **@digilogiclabs/saas-factory-ui** library for native components:
143
+
144
+ - **Native Cards**: Styled containers with shadows
145
+ - **Native Buttons**: Various styles and states
146
+ - **Native Forms**: Validated input fields
147
+ - **Native Charts**: Data visualization
148
+ - **Native Navigation**: Tab bars and navigation
149
+ - **Native Modals**: Overlay components
150
+
151
+ ## 💳 Payments Integration
152
+
153
+ Stripe integration includes:
154
+
155
+ - **Payment Methods**: Add/remove credit cards
156
+ - **Subscriptions**: Manage recurring payments
157
+ - **Invoices**: View billing history
158
+ - **Apple Pay**: iOS native payment method
159
+ - **Google Pay**: Android native payment method
160
+
161
+ ## 📊 Analytics
162
+
163
+ Built-in analytics dashboard with:
164
+
165
+ - **Revenue Tracking**: Daily, weekly, monthly views
166
+ - **Order Analytics**: Sales and conversion metrics
167
+ - **Customer Insights**: User behavior and trends
168
+ - **Real-time Data**: Live updates and notifications
169
+
170
+ ## 🧪 Testing
171
+
172
+ ```bash
173
+ # Run tests
174
+ npm test
175
+
176
+ # Run tests with coverage
177
+ npm run test:coverage
178
+
179
+ # Run tests in watch mode
180
+ npm run test:watch
181
+ ```
182
+
183
+ ## 🚀 Deployment
184
+
185
+ ### Development Build
186
+
187
+ ```bash
188
+ # Create development build
189
+ eas build --profile development
190
+
191
+ # Install on device
192
+ eas install
193
+ ```
194
+
195
+ ### Production Build
196
+
197
+ ```bash
198
+ # Build for App Store/Play Store
199
+ eas build --profile production
200
+
201
+ # Submit to stores
202
+ eas submit --platform all
203
+ ```
204
+
205
+ ## 📱 Platform Support
206
+
207
+ - **iOS**: 13.0+
208
+ - **Android**: API 21+ (Android 5.0)
209
+ - **Web**: Modern browsers (for development)
210
+
211
+ ## 🔄 Updates
212
+
213
+ The app supports over-the-air updates with Expo Updates:
214
+
215
+ ```bash
216
+ # Publish update
217
+ eas update --branch production
218
+ ```
219
+
220
+ ## 🆘 Troubleshooting
221
+
222
+ ### Common Issues
223
+
224
+ 1. **Metro bundler issues**: Clear cache with `expo start -c`
225
+ 2. **Build failures**: Check EAS build logs in the dashboard
226
+ 3. **Permission errors**: Verify permissions in app.json
227
+ 4. **Stripe setup**: Ensure proper API keys and webhook endpoints
228
+
229
+ ### Debug Mode
230
+
231
+ ```bash
232
+ # Enable debug mode
233
+ EXPO_PUBLIC_DEBUG=true npm run dev
234
+ ```
235
+
236
+ ## 📄 License
237
+
238
+ This project is licensed under the MIT License. See LICENSE file for details.
239
+
240
+ ## 🤝 Contributing
241
+
242
+ 1. Fork the repository
243
+ 2. Create a feature branch: `git checkout -b feature/new-feature`
244
+ 3. Commit changes: `git commit -am 'Add new feature'`
245
+ 4. Push to branch: `git push origin feature/new-feature`
246
+ 5. Submit a pull request
247
+
248
+ ## 📞 Support
249
+
250
+ For support and questions:
251
+
252
+ - Email: support@{{packageName}}.com
253
+ - Documentation: [docs.{{packageName}}.com](https://docs.{{packageName}}.com)
254
+ - Issues: [GitHub Issues](https://github.com/{{githubRepo}}/issues)
@@ -0,0 +1,169 @@
1
+ import React from 'react';
2
+ import { View } from 'react-native';
3
+ import { Tabs } from 'expo-router';
4
+ import { useAuth } from '@digilogiclabs/saas-factory-auth/native';
5
+ import { Redirect } from 'expo-router';
6
+
7
+ // UI Components - Updated for v0.22.0
8
+ import {
9
+ BottomTabBar,
10
+ PageTransition,
11
+ useTheme
12
+ } from '@digilogiclabs/saas-factory-ui/native';
13
+
14
+ // Icons
15
+ import {
16
+ Home,
17
+ User,
18
+ Settings,
19
+ CreditCard,
20
+ BarChart3,
21
+ ShoppingBag,
22
+ Sparkles
23
+ } from 'react-native-heroicons/outline';
24
+ import {
25
+ Home as HomeSolid,
26
+ User as UserSolid,
27
+ Settings as SettingsSolid,
28
+ CreditCard as CreditCardSolid,
29
+ BarChart3 as BarChart3Solid,
30
+ ShoppingBag as ShoppingBagSolid,
31
+ Sparkles as SparklesSolid
32
+ } from 'react-native-heroicons/solid';
33
+
34
+ // Tab configuration for BottomTabBar
35
+ const tabConfig = [
36
+ {
37
+ id: 'index',
38
+ label: 'Home',
39
+ icon: Home,
40
+ activeIcon: HomeSolid,
41
+ route: '/dashboard'
42
+ },
43
+ {
44
+ id: 'ai',
45
+ label: 'AI Studio',
46
+ icon: Sparkles,
47
+ activeIcon: SparklesSolid,
48
+ route: '/ai',
49
+ badge: 'NEW'
50
+ },
51
+ {
52
+ id: 'orders',
53
+ label: 'Orders',
54
+ icon: ShoppingBag,
55
+ activeIcon: ShoppingBagSolid,
56
+ route: '/orders'
57
+ },
58
+ {
59
+ id: 'analytics',
60
+ label: 'Analytics',
61
+ icon: BarChart3,
62
+ activeIcon: BarChart3Solid,
63
+ route: '/analytics'
64
+ },
65
+ {
66
+ id: 'billing',
67
+ label: 'Billing',
68
+ icon: CreditCard,
69
+ activeIcon: CreditCardSolid,
70
+ route: '/billing'
71
+ },
72
+ {
73
+ id: 'profile',
74
+ label: 'Profile',
75
+ icon: User,
76
+ activeIcon: UserSolid,
77
+ route: '/profile'
78
+ }
79
+ ];
80
+
81
+ export default function TabLayout() {
82
+ const { user, loading } = useAuth();
83
+ const { colors } = useTheme();
84
+
85
+ // Show loading state while checking authentication
86
+ if (loading) {
87
+ return null; // or a loading component
88
+ }
89
+
90
+ // Redirect to auth if user is not authenticated
91
+ if (!user) {
92
+ return <Redirect href="/auth/login" />;
93
+ }
94
+
95
+ return (
96
+ <PageTransition type="slide" direction="horizontal">
97
+ <View style={{ flex: 1 }}>
98
+ <Tabs
99
+ screenOptions={{
100
+ headerShown: false,
101
+ tabBarStyle: { display: 'none' } // Hide default tab bar since we use BottomTabBar
102
+ }}
103
+ >
104
+ <Tabs.Screen
105
+ name="index"
106
+ options={{
107
+ title: 'Dashboard',
108
+ }}
109
+ />
110
+ <Tabs.Screen
111
+ name="ai"
112
+ options={{
113
+ title: 'AI Studio',
114
+ }}
115
+ />
116
+ <Tabs.Screen
117
+ name="orders"
118
+ options={{
119
+ title: 'Orders',
120
+ }}
121
+ />
122
+ <Tabs.Screen
123
+ name="analytics"
124
+ options={{
125
+ title: 'Analytics',
126
+ }}
127
+ />
128
+ <Tabs.Screen
129
+ name="billing"
130
+ options={{
131
+ title: 'Billing',
132
+ }}
133
+ />
134
+ <Tabs.Screen
135
+ name="profile"
136
+ options={{
137
+ title: 'Profile',
138
+ }}
139
+ />
140
+ </Tabs>
141
+
142
+ {/* Enhanced BottomTabBar from v0.22.0 */}
143
+ <BottomTabBar
144
+ tabs={tabConfig}
145
+ activeTabId="index" // This should be dynamic based on current route
146
+ onTabPress={(tabId) => {
147
+ // Handle tab navigation
148
+ console.log('Tab pressed:', tabId);
149
+ }}
150
+ style={{
151
+ position: 'absolute',
152
+ bottom: 16,
153
+ left: 16,
154
+ right: 16,
155
+ borderRadius: 24,
156
+ shadowColor: '#000',
157
+ shadowOffset: { width: 0, height: 8 },
158
+ shadowOpacity: 0.12,
159
+ shadowRadius: 24,
160
+ elevation: 12,
161
+ }}
162
+ variant="floating"
163
+ showLabels={true}
164
+ hapticFeedback={true}
165
+ />
166
+ </View>
167
+ </PageTransition>
168
+ );
169
+ }