@idealyst/cli 1.2.30 → 1.2.32

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 (34) hide show
  1. package/dist/constants.js +1 -1
  2. package/dist/generators/core/mobile.js +21 -19
  3. package/dist/generators/core/mobile.js.map +1 -1
  4. package/dist/generators/core/shared.js +21 -13
  5. package/dist/generators/core/shared.js.map +1 -1
  6. package/dist/generators/core/web.js +69 -12
  7. package/dist/generators/core/web.js.map +1 -1
  8. package/dist/templates/copier.js +6 -4
  9. package/dist/templates/copier.js.map +1 -1
  10. package/dist/templates/core/mobile/src/App.tsx +8 -0
  11. package/dist/templates/core/mobile/src/utils/trpc.ts +7 -0
  12. package/dist/templates/core/shared/src/components/App.tsx +13 -0
  13. package/dist/templates/core/shared/src/components/index.ts +1 -0
  14. package/dist/templates/core/shared/src/index.ts +10 -0
  15. package/dist/templates/core/shared/src/layouts/AppLayout.tsx +218 -0
  16. package/dist/templates/core/shared/src/navigation/AppRouter.tsx +103 -0
  17. package/dist/templates/core/shared/src/navigation/index.ts +1 -0
  18. package/dist/templates/core/shared/src/screens/ExploreScreen.tsx +240 -0
  19. package/dist/templates/core/shared/src/screens/HomeScreen.tsx +151 -0
  20. package/dist/templates/core/shared/src/screens/ProfileScreen.tsx +222 -0
  21. package/dist/templates/core/shared/src/screens/SettingsScreen.tsx +218 -0
  22. package/dist/templates/core/shared/src/screens/index.ts +4 -0
  23. package/dist/templates/core/shared/src/theme.ts +45 -0
  24. package/dist/templates/core/web/index.html +25 -0
  25. package/dist/templates/core/web/public/vite.svg +10 -0
  26. package/dist/templates/core/web/src/App.tsx +12 -0
  27. package/dist/templates/core/web/src/main.tsx +16 -0
  28. package/dist/templates/core/workspace/gitignore.template +78 -0
  29. package/dist/templates/core/workspace/package.json +24 -0
  30. package/dist/templates/core/workspace/react-native.config.js +19 -0
  31. package/dist/templates/core/workspace/tsconfig.json +17 -0
  32. package/dist/templates/core/workspace/yarnrc.yml.template +6 -0
  33. package/dist/types/constants.d.ts +5 -5
  34. package/package.json +3 -2
package/dist/constants.js CHANGED
@@ -7,7 +7,7 @@ exports.DEPENDENCIES = exports.IGNORE_PATTERNS = exports.TEMPLATE_EXTENSIONS = e
7
7
  // Package version - updated during build
8
8
  exports.VERSION = '0.1.0';
9
9
  // Current Idealyst framework version to use in templates
10
- exports.IDEALYST_VERSION = '1.2.26';
10
+ exports.IDEALYST_VERSION = '1.2.32';
11
11
  // React Native version
12
12
  exports.REACT_NATIVE_VERSION = '0.83.0';
13
13
  // React version
@@ -29,21 +29,22 @@ async function generateMobilePackage(projectPath, options) {
29
29
  skipInstall: options.skipInstall ?? true,
30
30
  interactive: options.interactive ?? false,
31
31
  });
32
- // Now overlay Idealyst-specific files or generate programmatically
33
- const templatePath = (0, copier_1.getTemplatePath)('core', 'mobile');
34
- if (await (0, copier_1.templateHasContent)(templatePath)) {
35
- if (rnResult.success) {
36
- // Overlay on top of RN-generated project
37
- await (0, reactNative_1.overlayIdealystFiles)(mobileDir, templatePath, options);
38
- }
39
- else {
40
- // No RN init, copy full template
41
- await (0, copier_1.copyTemplateDirectory)(templatePath, mobileDir, options);
42
- }
32
+ // Always generate config files programmatically
33
+ await generateMobileConfigFiles(mobileDir, options);
34
+ // Try to use template src/ files first, or generate programmatically
35
+ const templateSrcPath = (0, copier_1.getTemplatePath)('core', 'mobile', 'src');
36
+ if (await (0, copier_1.templateHasContent)(templateSrcPath)) {
37
+ // Copy src/ from templates (showcase-based)
38
+ await (0, copier_1.copyTemplateDirectory)(templateSrcPath, path_1.default.join(mobileDir, 'src'), options);
39
+ logger_1.logger.dim('Using showcase-based source files');
43
40
  }
44
41
  else {
45
- // Generate programmatically
46
- await generateMobileFiles(mobileDir, options, rnResult.success);
42
+ // Generate src/ programmatically (fallback)
43
+ await generateMobileSrcFiles(mobileDir, options);
44
+ }
45
+ if (!rnResult.success) {
46
+ logger_1.logger.warn('Native folders (android/ios) were not created.');
47
+ logger_1.logger.dim('Run "npx react-native init" in the mobile directory to create them.');
47
48
  }
48
49
  return {
49
50
  success: true,
@@ -51,9 +52,9 @@ async function generateMobilePackage(projectPath, options) {
51
52
  };
52
53
  }
53
54
  /**
54
- * Generate mobile package files programmatically
55
+ * Generate mobile package config files (package.json, app.json, configs)
55
56
  */
56
- async function generateMobileFiles(mobileDir, data, hasNative) {
57
+ async function generateMobileConfigFiles(mobileDir, data) {
57
58
  // Create directory structure
58
59
  await fs_extra_1.default.ensureDir(path_1.default.join(mobileDir, 'src'));
59
60
  // Create package.json
@@ -68,12 +69,13 @@ async function generateMobileFiles(mobileDir, data, hasNative) {
68
69
  await fs_extra_1.default.writeJson(path_1.default.join(mobileDir, 'tsconfig.json'), createMobileTsConfig(), { spaces: 2 });
69
70
  // Create index.js (entry point)
70
71
  await fs_extra_1.default.writeFile(path_1.default.join(mobileDir, 'index.js'), createIndexJs(data));
72
+ }
73
+ /**
74
+ * Generate mobile package src files programmatically (fallback)
75
+ */
76
+ async function generateMobileSrcFiles(mobileDir, data) {
71
77
  // Create src/App.tsx
72
78
  await fs_extra_1.default.writeFile(path_1.default.join(mobileDir, 'src', 'App.tsx'), createAppTsx(data));
73
- if (!hasNative) {
74
- logger_1.logger.warn('Native folders (android/ios) were not created.');
75
- logger_1.logger.dim('Run "npx react-native init" in the mobile directory to create them.');
76
- }
77
79
  }
78
80
  /**
79
81
  * Create mobile package.json
@@ -1 +1 @@
1
- {"version":3,"file":"mobile.js","sourceRoot":"","sources":["../../../src/generators/core/mobile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mobile.js","sourceRoot":"","sources":["../../../src/generators/core/mobile.ts"],"names":[],"mappings":"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"}
@@ -19,21 +19,34 @@ async function generateSharedPackage(projectPath, data) {
19
19
  const sharedDir = path_1.default.join(projectPath, 'packages', 'shared');
20
20
  logger_1.logger.info('Creating shared package...');
21
21
  await fs_extra_1.default.ensureDir(sharedDir);
22
- // Try to use template first, or generate programmatically
23
- const templatePath = (0, copier_1.getTemplatePath)('core', 'shared');
24
- if (await (0, copier_1.templateHasContent)(templatePath)) {
25
- await (0, copier_1.copyTemplateDirectory)(templatePath, sharedDir, data);
22
+ // Always generate config files programmatically (package.json, tsconfig, etc.)
23
+ await generateSharedConfigFiles(sharedDir, data);
24
+ // Try to use template src/ files first, or generate programmatically
25
+ const templateSrcPath = (0, copier_1.getTemplatePath)('core', 'shared', 'src');
26
+ if (await (0, copier_1.templateHasContent)(templateSrcPath)) {
27
+ // Copy src/ from templates (showcase-based)
28
+ await (0, copier_1.copyTemplateDirectory)(templateSrcPath, path_1.default.join(sharedDir, 'src'), data);
29
+ logger_1.logger.dim('Using showcase-based source files');
26
30
  }
27
31
  else {
28
- // Generate programmatically
29
- await generateSharedFiles(sharedDir, data);
32
+ // Generate src/ programmatically (fallback)
33
+ await generateSharedSrcFiles(sharedDir, data);
30
34
  }
31
35
  return { success: true };
32
36
  }
33
37
  /**
34
- * Generate shared package files programmatically
38
+ * Generate shared package config files (package.json, tsconfig)
35
39
  */
36
- async function generateSharedFiles(sharedDir, data) {
40
+ async function generateSharedConfigFiles(sharedDir, data) {
41
+ // Create package.json
42
+ await fs_extra_1.default.writeJson(path_1.default.join(sharedDir, 'package.json'), createSharedPackageJson(data), { spaces: 2 });
43
+ // Create tsconfig.json
44
+ await fs_extra_1.default.writeJson(path_1.default.join(sharedDir, 'tsconfig.json'), createSharedTsConfig(), { spaces: 2 });
45
+ }
46
+ /**
47
+ * Generate shared package src files programmatically (fallback when no template)
48
+ */
49
+ async function generateSharedSrcFiles(sharedDir, data) {
37
50
  // Create directory structure
38
51
  await fs_extra_1.default.ensureDir(path_1.default.join(sharedDir, 'src', 'components'));
39
52
  await fs_extra_1.default.ensureDir(path_1.default.join(sharedDir, 'src', 'screens'));
@@ -42,10 +55,6 @@ async function generateSharedFiles(sharedDir, data) {
42
55
  if (data.hasTrpc) {
43
56
  await fs_extra_1.default.ensureDir(path_1.default.join(sharedDir, 'src', 'utils'));
44
57
  }
45
- // Create package.json
46
- await fs_extra_1.default.writeJson(path_1.default.join(sharedDir, 'package.json'), createSharedPackageJson(data), { spaces: 2 });
47
- // Create tsconfig.json
48
- await fs_extra_1.default.writeJson(path_1.default.join(sharedDir, 'tsconfig.json'), createSharedTsConfig(), { spaces: 2 });
49
58
  // Create src/index.ts
50
59
  await fs_extra_1.default.writeFile(path_1.default.join(sharedDir, 'src', 'index.ts'), createSharedIndex(data));
51
60
  // Create src/theme.ts
@@ -97,7 +106,6 @@ function createSharedPackageJson(data) {
97
106
  types: 'src/index.ts',
98
107
  exports: {
99
108
  '.': './src/index.ts',
100
- './theme': './src/theme.ts',
101
109
  },
102
110
  scripts: {
103
111
  'build': 'tsc',
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/generators/core/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/generators/core/shared.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,39 @@
2
2
  /**
3
3
  * Web package generator
4
4
  */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
5
38
  var __importDefault = (this && this.__importDefault) || function (mod) {
6
39
  return (mod && mod.__esModule) ? mod : { "default": mod };
7
40
  };
@@ -19,24 +52,45 @@ async function generateWebPackage(projectPath, data) {
19
52
  const webDir = path_1.default.join(projectPath, 'packages', 'web');
20
53
  logger_1.logger.info('Creating web package...');
21
54
  await fs_extra_1.default.ensureDir(webDir);
22
- // Try to use template first, or generate programmatically
55
+ await fs_extra_1.default.ensureDir(path_1.default.join(webDir, 'src'));
56
+ await fs_extra_1.default.ensureDir(path_1.default.join(webDir, 'public'));
57
+ // Always generate config files programmatically
58
+ await generateWebConfigFiles(webDir, data);
59
+ // Try to use template src/ and index.html first, or generate programmatically
23
60
  const templatePath = (0, copier_1.getTemplatePath)('core', 'web');
24
- if (await (0, copier_1.templateHasContent)(templatePath)) {
25
- await (0, copier_1.copyTemplateDirectory)(templatePath, webDir, data);
61
+ const templateSrcPath = (0, copier_1.getTemplatePath)('core', 'web', 'src');
62
+ const templateIndexHtml = path_1.default.join(templatePath, 'index.html');
63
+ const templatePublicPath = path_1.default.join(templatePath, 'public');
64
+ if (await (0, copier_1.templateHasContent)(templateSrcPath)) {
65
+ // Copy src/ from templates (showcase-based)
66
+ await (0, copier_1.copyTemplateDirectory)(templateSrcPath, path_1.default.join(webDir, 'src'), data);
67
+ logger_1.logger.dim('Using showcase-based source files');
26
68
  }
27
69
  else {
28
- // Generate programmatically
29
- await generateWebFiles(webDir, data);
70
+ // Generate src/ programmatically (fallback)
71
+ await generateWebSrcFiles(webDir, data);
72
+ }
73
+ // Copy index.html from template if exists
74
+ if (await fs_extra_1.default.pathExists(templateIndexHtml)) {
75
+ await fs_extra_1.default.copy(templateIndexHtml, path_1.default.join(webDir, 'index.html'));
76
+ // Process template variables in index.html
77
+ const content = await fs_extra_1.default.readFile(path_1.default.join(webDir, 'index.html'), 'utf8');
78
+ const { processTemplateContent } = await Promise.resolve().then(() => __importStar(require('../../templates/processor')));
79
+ await fs_extra_1.default.writeFile(path_1.default.join(webDir, 'index.html'), processTemplateContent(content, data));
80
+ }
81
+ else {
82
+ await fs_extra_1.default.writeFile(path_1.default.join(webDir, 'index.html'), createIndexHtml(data));
83
+ }
84
+ // Copy public/ from template if exists
85
+ if (await (0, copier_1.templateHasContent)(templatePublicPath)) {
86
+ await (0, copier_1.copyTemplateDirectory)(templatePublicPath, path_1.default.join(webDir, 'public'), data);
30
87
  }
31
88
  return { success: true };
32
89
  }
33
90
  /**
34
- * Generate web package files programmatically
91
+ * Generate web package config files (package.json, vite.config, tsconfig)
35
92
  */
36
- async function generateWebFiles(webDir, data) {
37
- // Create directory structure
38
- await fs_extra_1.default.ensureDir(path_1.default.join(webDir, 'src'));
39
- await fs_extra_1.default.ensureDir(path_1.default.join(webDir, 'public'));
93
+ async function generateWebConfigFiles(webDir, data) {
40
94
  // Create package.json
41
95
  await fs_extra_1.default.writeJson(path_1.default.join(webDir, 'package.json'), createWebPackageJson(data), { spaces: 2 });
42
96
  // Create vite.config.ts
@@ -45,8 +99,11 @@ async function generateWebFiles(webDir, data) {
45
99
  await fs_extra_1.default.writeJson(path_1.default.join(webDir, 'tsconfig.json'), createWebTsConfig(), { spaces: 2 });
46
100
  // Create tsconfig.node.json (for Vite config)
47
101
  await fs_extra_1.default.writeJson(path_1.default.join(webDir, 'tsconfig.node.json'), createWebTsConfigNode(), { spaces: 2 });
48
- // Create index.html
49
- await fs_extra_1.default.writeFile(path_1.default.join(webDir, 'index.html'), createIndexHtml(data));
102
+ }
103
+ /**
104
+ * Generate web package src files programmatically (fallback)
105
+ */
106
+ async function generateWebSrcFiles(webDir, data) {
50
107
  // Create src/main.tsx
51
108
  await fs_extra_1.default.writeFile(path_1.default.join(webDir, 'src', 'main.tsx'), createMainTsx(data));
52
109
  // Create src/App.tsx
@@ -1 +1 @@
1
- {"version":3,"file":"web.js","sourceRoot":"","sources":["../../../src/generators/core/web.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web.js","sourceRoot":"","sources":["../../../src/generators/core/web.ts"],"names":[],"mappings":"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"}
@@ -101,10 +101,12 @@ async function copyTemplateFile(sourceFile, destFile, data) {
101
101
  * Get the path to a template directory
102
102
  */
103
103
  function getTemplatePath(...segments) {
104
- // In production, templates are in dist/templates
105
- // In development, they're in templates/
106
- const distPath = path_1.default.resolve(__dirname, '..', '..', 'templates', ...segments);
107
- const devPath = path_1.default.resolve(__dirname, '..', '..', '..', 'templates', ...segments);
104
+ // The compiled copier.js lives in dist/templates/copier.js
105
+ // The templates are in dist/templates/core/... and dist/templates/extensions/...
106
+ // So from __dirname (dist/templates), we just need to add the segments directly
107
+ const distPath = path_1.default.resolve(__dirname, ...segments);
108
+ // In development (running from src/templates), templates are at ../../templates
109
+ const devPath = path_1.default.resolve(__dirname, '..', '..', 'templates', ...segments);
108
110
  if (fs_extra_1.default.existsSync(distPath)) {
109
111
  return distPath;
110
112
  }
@@ -1 +1 @@
1
- {"version":3,"file":"copier.js","sourceRoot":"","sources":["../../src/templates/copier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"copier.js","sourceRoot":"","sources":["../../src/templates/copier.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { App } from '@{{workspaceScope}}/shared';
3
+
4
+ function NativeApp() {
5
+ return <App />;
6
+ }
7
+
8
+ export default NativeApp;
@@ -0,0 +1,7 @@
1
+ // Import tRPC client utilities from shared package
2
+ export {
3
+ trpc,
4
+ createTRPCClient,
5
+ createVanillaTRPCClient
6
+ } from '@test-select-demo/shared';
7
+ export type { TRPCClientConfig, AppRouter } from '@test-select-demo/shared';
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import { NavigatorProvider } from '@idealyst/navigation';
3
+ import { AppRouter } from '../navigation/AppRouter';
4
+
5
+ /**
6
+ * Main App component for the {{appDisplayName}}
7
+ * Sets up navigation with the AppRouter
8
+ */
9
+ export const App: React.FC = () => {
10
+ return <NavigatorProvider route={AppRouter} />;
11
+ };
12
+
13
+ export default App;
@@ -0,0 +1 @@
1
+ export { App, default } from './App';
@@ -0,0 +1,10 @@
1
+ import './theme';
2
+
3
+ // Export the unified App component
4
+ export { App } from './components';
5
+
6
+ // Export navigation router
7
+ export { AppRouter } from './navigation';
8
+
9
+ // Export screens for direct use if needed
10
+ export * from './screens';
@@ -0,0 +1,218 @@
1
+ import React from 'react';
2
+ import { View, Text, Button, IconButton, Icon, Badge } from '@idealyst/components';
3
+ import { useNavigator, Outlet } from '@idealyst/navigation';
4
+ import type { TabLayoutProps, StackLayoutProps } from '@idealyst/navigation';
5
+ import { UnistylesRuntime, useUnistyles } from 'react-native-unistyles';
6
+
7
+ /**
8
+ * Custom Tab Layout for the {{appDisplayName}} app.
9
+ * Features:
10
+ * - Header with app title, theme toggle, and settings
11
+ * - Bottom tab bar navigation
12
+ * - Centered content area with max-width
13
+ */
14
+ export const AppTabLayout: React.FC<TabLayoutProps> = ({
15
+ routes,
16
+ currentPath,
17
+ }) => {
18
+ const navigator = useNavigator();
19
+ const { theme } = useUnistyles();
20
+ const currentTheme = UnistylesRuntime.themeName || 'light';
21
+
22
+ const cycleTheme = () => {
23
+ const nextTheme = currentTheme === 'light' ? 'dark' : 'light';
24
+ UnistylesRuntime.setTheme(nextTheme as any);
25
+ };
26
+
27
+ // Check if a route is active
28
+ const isRouteActive = (routePath: string) => {
29
+ const fullPath = routePath || '/';
30
+
31
+ // Trim leading slash for comparison
32
+ const trimmedCurrentPath = currentPath.startsWith('/') ? currentPath.slice(1) : currentPath;
33
+ const trimmedRoutePath = fullPath.startsWith('/') ? fullPath.slice(1) : fullPath;
34
+ return trimmedCurrentPath === trimmedRoutePath;
35
+ };
36
+
37
+ return (
38
+ <View
39
+ background="primary"
40
+ style={{ height: '100vh', flexDirection: 'column', alignItems: 'center', overflow: 'hidden' }}
41
+ >
42
+ {/* Header */}
43
+ <View
44
+ style={{
45
+ paddingHorizontal: 16,
46
+ paddingVertical: 12,
47
+ borderBottomWidth: 1,
48
+ borderBottomColor: theme.colors.border.primary,
49
+ flexDirection: 'row',
50
+ alignItems: 'center',
51
+ justifyContent: 'space-between',
52
+ maxWidth: 800,
53
+ width: '100%',
54
+ }}
55
+ >
56
+ <View padding={'md'} style={{ flexDirection: 'row', alignItems: 'center', gap: 8 }}>
57
+ <Icon name="cube-outline" size={24} intent="primary" />
58
+ <Text typography='h4'>
59
+ {{appDisplayName}}
60
+ </Text>
61
+ <Badge color={currentTheme === 'dark' ? 'purple' : 'blue'}>
62
+ {currentTheme === 'dark' ? 'Dark' : 'Light'}
63
+ </Badge>
64
+ </View>
65
+
66
+ <View style={{ flexDirection: 'row', gap: 8, alignItems: 'center' }}>
67
+ <IconButton
68
+ type="outlined"
69
+ size="sm"
70
+ icon={currentTheme === 'dark' ? 'weather-sunny' : 'weather-night'}
71
+ onPress={cycleTheme}
72
+ accessibilityLabel="Toggle theme"
73
+ />
74
+ <IconButton
75
+ type="text"
76
+ icon="cog-outline"
77
+ size="md"
78
+ onPress={() => navigator.navigate({ path: '/settings' })}
79
+ accessibilityLabel="Settings"
80
+ />
81
+ </View>
82
+ </View>
83
+
84
+ {/* Content Area */}
85
+ <View
86
+ style={{
87
+ flex: 1,
88
+ overflowY: 'auto',
89
+ width: '100%',
90
+ }}
91
+ >
92
+ <View
93
+ style={{
94
+ maxWidth: 800,
95
+ width: '100%',
96
+ marginLeft: 'auto',
97
+ marginRight: 'auto',
98
+ }}
99
+ >
100
+ <Outlet />
101
+ </View>
102
+ </View>
103
+
104
+ {/* Bottom Tab Bar */}
105
+ <View
106
+ style={{
107
+ alignSelf: 'stretch',
108
+ borderTopWidth: 1,
109
+ borderTopStyle: 'solid',
110
+ borderTopColor: theme.colors.border.primary,
111
+ backgroundColor: theme.colors.surface.primary,
112
+ paddingVertical: 8,
113
+ paddingHorizontal: 16,
114
+ }}
115
+ >
116
+ <View style={{ alignItems: 'center', width: '100%' }}>
117
+ <View
118
+ style={{
119
+ flexDirection: 'row',
120
+ justifyContent: 'space-around',
121
+ alignItems: 'center',
122
+ maxWidth: 400,
123
+ width: '100%',
124
+ }}
125
+ >
126
+ {routes.map((route) => {
127
+ const isActive = isRouteActive(route.fullPath);
128
+ const tabOptions = route.options as any;
129
+
130
+ return (
131
+ <Button
132
+ key={route.path || 'home'}
133
+ type="text"
134
+ intent={isActive ? 'primary' : 'neutral'}
135
+ size="sm"
136
+ style={{
137
+ flexDirection: 'column',
138
+ gap: 4,
139
+ paddingVertical: 8,
140
+ paddingHorizontal: 16,
141
+ minWidth: 64,
142
+ }}
143
+ onPress={() => {
144
+ navigator.navigate({ path: route.fullPath || '/' })
145
+ }}
146
+ >
147
+ <View style={{ alignItems: 'center', gap: 4 }}>
148
+ {tabOptions?.tabBarIcon?.({
149
+ focused: isActive,
150
+ color: isActive
151
+ ? theme.intents.primary.primary
152
+ : theme.colors.text.secondary,
153
+ size: 24,
154
+ })}
155
+ <Text
156
+ typography="caption"
157
+ weight={isActive ? 'semibold' : 'normal'}
158
+ color={isActive ? 'primary' : 'secondary'}
159
+ >
160
+ {tabOptions?.tabBarLabel || route.options?.headerTitle || route.path || 'Home'}
161
+ </Text>
162
+ </View>
163
+ </Button>
164
+ );
165
+ })}
166
+ </View>
167
+ </View>
168
+ </View>
169
+ </View>
170
+ );
171
+ };
172
+
173
+ /**
174
+ * Custom Stack Layout for the {{appDisplayName}} app.
175
+ * Features:
176
+ * - Centered content with max-width of 800px
177
+ * - Full height layout
178
+ * - Left/right borders on content area
179
+ */
180
+ export const AppStackLayout: React.FC<StackLayoutProps> = ({
181
+ options,
182
+ routes,
183
+ }) => {
184
+ const { theme } = useUnistyles();
185
+
186
+ return (
187
+ <View
188
+ background="secondary"
189
+ style={{
190
+ height: '100vh',
191
+ flexDirection: 'column',
192
+ overflow: 'hidden',
193
+ alignItems: 'center',
194
+ }}
195
+ >
196
+ {/* Content Area */}
197
+ <View
198
+ background="primary"
199
+ style={{
200
+ flex: 1,
201
+ overflowY: 'auto',
202
+ maxWidth: 800,
203
+ width: '100%',
204
+ borderLeftWidth: 1,
205
+ borderRightWidth: 1,
206
+ borderLeftColor: theme.colors.border.primary,
207
+ borderRightColor: theme.colors.border.primary,
208
+ borderLeftStyle: 'solid',
209
+ borderRightStyle: 'solid',
210
+ }}
211
+ >
212
+ <Outlet />
213
+ </View>
214
+ </View>
215
+ );
216
+ };
217
+
218
+ export default AppTabLayout;