create-expo-stack 2.7.0-next.e4d108e → 2.7.1-next.7228e17

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 (46) hide show
  1. package/README.md +16 -9
  2. package/build/commands/create-expo-stack.js +62 -15
  3. package/build/templates/base/app.json.ejs +5 -1
  4. package/build/templates/base/package.json.ejs +40 -12
  5. package/build/templates/base/tsconfig.json.ejs +1 -1
  6. package/build/templates/packages/nativewindui/app/+not-found.tsx.ejs +1 -1
  7. package/build/templates/packages/nativewindui/app/_layout.tsx.ejs +46 -39
  8. package/build/templates/packages/nativewindui/app/index.tsx.ejs +658 -165
  9. package/build/templates/packages/nativewindui/app/modal.tsx.ejs +20 -19
  10. package/build/templates/packages/nativewindui/components/nativewind-ui/ActivityIndicator.tsx.ejs +10 -0
  11. package/build/templates/packages/nativewindui/components/nativewind-ui/Avatar.tsx.ejs +139 -0
  12. package/build/templates/packages/nativewindui/components/nativewind-ui/DatePicker.android.tsx.ejs +66 -0
  13. package/build/templates/packages/nativewindui/components/nativewind-ui/DatePicker.tsx.ejs +10 -0
  14. package/build/templates/packages/nativewindui/components/nativewind-ui/Picker.tsx.ejs +39 -0
  15. package/build/templates/packages/nativewindui/components/nativewind-ui/ProgressIndicator.tsx.ejs +95 -0
  16. package/build/templates/packages/nativewindui/components/nativewind-ui/SegmentedControl.tsx.ejs +22 -0
  17. package/build/templates/packages/nativewindui/components/nativewind-ui/Sheet.tsx.ejs +59 -0
  18. package/build/templates/packages/nativewindui/components/nativewind-ui/Slider.tsx.ejs +28 -0
  19. package/build/templates/packages/nativewindui/components/{Text.tsx.ejs → nativewind-ui/Text.tsx.ejs} +28 -4
  20. package/build/templates/packages/nativewindui/components/nativewind-ui/ThemeToggle.tsx.ejs +35 -0
  21. package/build/templates/packages/nativewindui/components/{Toggle.tsx.ejs → nativewind-ui/Toggle.tsx.ejs} +3 -3
  22. package/build/templates/packages/nativewindui/global.css.ejs +3 -3
  23. package/build/templates/packages/nativewindui/lib/useColorScheme.tsx.ejs +47 -6
  24. package/build/templates/packages/nativewindui/lib/useHeaderSearchBar.tsx.ejs +2 -2
  25. package/build/templates/packages/nativewindui/metro.config.js.ejs +1 -0
  26. package/build/templates/packages/nativewindui/tailwind.config.js.ejs +34 -76
  27. package/build/templates/packages/nativewindui/theme/colors.ts.ejs +8 -8
  28. package/build/templates/packages/nativewindui/theme/index.ts.ejs +4 -4
  29. package/build/types/types.d.ts +2 -0
  30. package/build/types/utilities/clearNavigationPackages.d.ts +2 -0
  31. package/build/utilities/clearNavigationPackages.js +11 -0
  32. package/build/utilities/configureProjectFiles.js +64 -35
  33. package/build/utilities/printOutput.js +32 -14
  34. package/build/utilities/runCLI.js +80 -26
  35. package/package.json +1 -1
  36. package/build/templates/packages/nativewindui/app/bottom-tabs/_layout.tsx.ejs +0 -34
  37. package/build/templates/packages/nativewindui/app/bottom-tabs/index.tsx.ejs +0 -11
  38. package/build/templates/packages/nativewindui/app/bottom-tabs/profile.tsx.ejs +0 -11
  39. package/build/templates/packages/nativewindui/app/drawer/_layout.tsx.ejs +0 -29
  40. package/build/templates/packages/nativewindui/app/drawer/index.tsx.ejs +0 -11
  41. package/build/templates/packages/nativewindui/app/top-tabs/_layout.tsx.ejs +0 -71
  42. package/build/templates/packages/nativewindui/app/top-tabs/following.tsx.ejs +0 -13
  43. package/build/templates/packages/nativewindui/app/top-tabs/index.tsx.ejs +0 -13
  44. package/build/templates/packages/nativewindui/app/top-tabs/my-group.tsx.ejs +0 -13
  45. package/build/templates/packages/nativewindui/components/ThemeToggle.tsx.ejs +0 -53
  46. /package/build/templates/packages/nativewindui/lib/{utils.ts.ejs → cn.ts.ejs} +0 -0
@@ -43,7 +43,7 @@ var getPackageManager_1 = require("./getPackageManager");
43
43
  var recommendedBunVersion = '1.0.14';
44
44
  function runCLI(toolbox, projectName) {
45
45
  return __awaiter(this, void 0, void 0, function () {
46
- var options, _a, info, success, warning, cliResults, shouldUseTypescript, defaultPackageManagerVersion, shouldUseDefaultPackageManager, packageManagerSelect, packageManagerSelect, shouldUseNativeWindUI, navigationSelect, navigationType, shouldContinue, shouldContinue, stylingSelect, authenticationSelect, internationalizationSelect;
46
+ var options, _a, info, success, warning, cliResults, shouldUseTypescript, defaultPackageManagerVersion, shouldUseDefaultPackageManager, packageManagerSelect, packageManagerSelect, shouldUseNativeWindUI, selectedComponents, navigationSelect, navigationType, shouldContinue, shouldContinue, stylingSelect, authenticationSelect, internationalizationSelect;
47
47
  return __generator(this, function (_b) {
48
48
  switch (_b.label) {
49
49
  case 0:
@@ -135,8 +135,63 @@ function runCLI(toolbox, projectName) {
135
135
  (0, prompts_1.cancel)('Cancelled... 👋');
136
136
  return [2 /*return*/, process.exit(0)];
137
137
  }
138
- if (!shouldUseNativeWindUI) return [3 /*break*/, 11];
139
- cliResults.packages.push({ name: 'nativewindui', type: 'styling' });
138
+ if (!shouldUseNativeWindUI) return [3 /*break*/, 12];
139
+ selectedComponents = [];
140
+ return [4 /*yield*/, (0, prompts_1.multiselect)({
141
+ message: 'Which components would you like to explore?',
142
+ options: [
143
+ { value: 'action-sheet', label: 'Action Sheet' },
144
+ { value: 'activity-indicator', label: 'Activity Indicator' },
145
+ { value: 'activity-view', label: 'Activity View' },
146
+ { value: 'alert', label: 'Alert' },
147
+ { value: 'avatar', label: 'Avatar' },
148
+ { value: 'bottom-sheet', label: 'Bottom Sheet' },
149
+ { value: 'context-menu', label: 'Context Menu' },
150
+ { value: 'date-picker', label: 'Date Picker' },
151
+ { value: 'dropdown-menu', label: 'Dropdown Menu' },
152
+ { value: 'picker', label: 'Picker' },
153
+ { value: 'progress-indicator', label: 'Progress Indicator' },
154
+ { value: 'ratings-indicator', label: 'Ratings Indicator' },
155
+ { value: 'segmented-control', label: 'Segmented Control' },
156
+ { value: 'selectable-text', label: 'Selectable Text' },
157
+ { value: 'slider', label: 'Slider' },
158
+ { value: 'text', label: 'Text' },
159
+ { value: 'toggle', label: 'Toggle' }
160
+ ],
161
+ required: false,
162
+ initialValues: [
163
+ 'action-sheet',
164
+ 'activity-indicator',
165
+ 'activity-view',
166
+ 'alert',
167
+ 'avatar',
168
+ 'bottom-sheet',
169
+ 'context-menu',
170
+ 'date-picker',
171
+ 'dropdown-menu',
172
+ 'picker',
173
+ 'progress-indicator',
174
+ 'ratings-indicator',
175
+ 'segmented-control',
176
+ 'selectable-text',
177
+ 'slider',
178
+ 'text',
179
+ 'toggle'
180
+ ]
181
+ })];
182
+ case 11:
183
+ selectedComponents = (_b.sent());
184
+ if ((0, prompts_1.isCancel)(selectedComponents)) {
185
+ (0, prompts_1.cancel)('Cancelled... 👋');
186
+ return [2 /*return*/, process.exit(0)];
187
+ }
188
+ cliResults.packages.push({
189
+ name: 'nativewindui',
190
+ type: 'styling',
191
+ options: {
192
+ selectedComponents: selectedComponents
193
+ }
194
+ });
140
195
  cliResults.packages.push({
141
196
  name: 'expo-router',
142
197
  type: 'navigation',
@@ -145,8 +200,8 @@ function runCLI(toolbox, projectName) {
145
200
  }
146
201
  });
147
202
  success("You'll be building with ease using NativeWindUI and Expo Router!");
148
- return [3 /*break*/, 23];
149
- case 11: return [4 /*yield*/, (0, prompts_1.select)({
203
+ return [3 /*break*/, 24];
204
+ case 12: return [4 /*yield*/, (0, prompts_1.select)({
150
205
  message: 'What would you like to use for Navigation?',
151
206
  options: [
152
207
  { value: 'react-navigation', label: 'React Navigation' },
@@ -155,13 +210,13 @@ function runCLI(toolbox, projectName) {
155
210
  ],
156
211
  initialValue: 'expo-router'
157
212
  })];
158
- case 12:
213
+ case 13:
159
214
  navigationSelect = _b.sent();
160
215
  if ((0, prompts_1.isCancel)(navigationSelect)) {
161
216
  (0, prompts_1.cancel)('Cancelled... 👋');
162
217
  return [2 /*return*/, process.exit(0)];
163
218
  }
164
- if (!navigationSelect) return [3 /*break*/, 18];
219
+ if (!navigationSelect) return [3 /*break*/, 19];
165
220
  return [4 /*yield*/, (0, prompts_1.select)({
166
221
  message: 'What type of navigation would you like to use?',
167
222
  options: [
@@ -170,7 +225,7 @@ function runCLI(toolbox, projectName) {
170
225
  { value: 'drawer + tabs', label: 'Drawer + Tabs' }
171
226
  ]
172
227
  })];
173
- case 13:
228
+ case 14:
174
229
  navigationType = _b.sent();
175
230
  if ((0, prompts_1.isCancel)(navigationType)) {
176
231
  (0, prompts_1.cancel)('Cancelled... 👋');
@@ -185,7 +240,7 @@ function runCLI(toolbox, projectName) {
185
240
  });
186
241
  if (!(cliResults.flags.packageManager === 'bun' &&
187
242
  defaultPackageManagerVersion &&
188
- defaultPackageManagerVersion !== recommendedBunVersion)) return [3 /*break*/, 15];
243
+ defaultPackageManagerVersion !== recommendedBunVersion)) return [3 /*break*/, 16];
189
244
  warning('⚠️' + ' ' + " We've detected you're using Bun v".concat(defaultPackageManagerVersion, "."));
190
245
  info('');
191
246
  warning("Some packages may not work correctly if you continue. We recommend using Bun v".concat(recommendedBunVersion, " until peerDependencies are properly resolved with bun install."));
@@ -201,16 +256,16 @@ function runCLI(toolbox, projectName) {
201
256
  message: "Would you like to continue without switching to Bun v".concat(recommendedBunVersion, "?"),
202
257
  initialValue: false
203
258
  })];
204
- case 14:
259
+ case 15:
205
260
  shouldContinue = _b.sent();
206
261
  if ((0, prompts_1.isCancel)(shouldContinue)) {
207
262
  (0, prompts_1.cancel)('Cancelled... 👋');
208
263
  return [2 /*return*/, process.exit(0)];
209
264
  }
210
265
  success("Great, we'll use ".concat(navigationSelect, "!"));
211
- return [3 /*break*/, 17];
212
- case 15:
213
- if (!(cliResults.flags.packageManager === 'bun' && !defaultPackageManagerVersion)) return [3 /*break*/, 17];
266
+ return [3 /*break*/, 18];
267
+ case 16:
268
+ if (!(cliResults.flags.packageManager === 'bun' && !defaultPackageManagerVersion)) return [3 /*break*/, 18];
214
269
  warning('⚠️' + ' ' + " We've detected you're using Bun but we are unable to determine which version you are using.");
215
270
  info('');
216
271
  warning("We recommend using Bun v".concat(recommendedBunVersion, " until peerDependencies are properly resolved with bun install. If you continue with a version that is not v").concat(recommendedBunVersion, ", some packages may not work correctly."));
@@ -230,22 +285,21 @@ function runCLI(toolbox, projectName) {
230
285
  message: "Would you like to continue with your current version of Bun?",
231
286
  initialValue: false
232
287
  })];
233
- case 16:
288
+ case 17:
234
289
  shouldContinue = _b.sent();
235
290
  if ((0, prompts_1.isCancel)(shouldContinue)) {
236
291
  (0, prompts_1.cancel)('Cancelled... 👋');
237
292
  return [2 /*return*/, process.exit(0)];
238
293
  }
239
294
  success("Great, we'll use ".concat(navigationSelect, "!"));
240
- _b.label = 17;
241
- case 17: return [3 /*break*/, 19];
242
- case 18:
295
+ _b.label = 18;
296
+ case 18: return [3 /*break*/, 20];
297
+ case 19:
243
298
  success("No problem, skipping navigation for now.");
244
- _b.label = 19;
245
- case 19: return [4 /*yield*/, (0, prompts_1.select)({
299
+ _b.label = 20;
300
+ case 20: return [4 /*yield*/, (0, prompts_1.select)({
246
301
  message: 'What would you like to use for styling?',
247
302
  options: [
248
- { value: 'nativewindui', label: 'NativeWindUI' },
249
303
  { value: 'nativewind', label: 'NativeWind' },
250
304
  { value: 'restyle', label: 'Restyle' },
251
305
  { value: 'stylesheet', label: 'StyleSheet' },
@@ -254,7 +308,7 @@ function runCLI(toolbox, projectName) {
254
308
  ],
255
309
  initialValue: 'nativewindui'
256
310
  })];
257
- case 20:
311
+ case 21:
258
312
  stylingSelect = _b.sent();
259
313
  if ((0, prompts_1.isCancel)(stylingSelect)) {
260
314
  (0, prompts_1.cancel)('Cancelled... 👋');
@@ -270,7 +324,7 @@ function runCLI(toolbox, projectName) {
270
324
  { value: 'firebase', label: 'Firebase' }
271
325
  ]
272
326
  })];
273
- case 21:
327
+ case 22:
274
328
  authenticationSelect = _b.sent();
275
329
  if ((0, prompts_1.isCancel)(authenticationSelect)) {
276
330
  (0, prompts_1.cancel)('Cancelled... 👋');
@@ -286,7 +340,7 @@ function runCLI(toolbox, projectName) {
286
340
  message: "What would you like to support internationalization?",
287
341
  initialValue: false
288
342
  })];
289
- case 22:
343
+ case 23:
290
344
  internationalizationSelect = _b.sent();
291
345
  if (internationalizationSelect) {
292
346
  cliResults.packages.push({ name: 'i18next', type: 'internationalization' });
@@ -295,11 +349,11 @@ function runCLI(toolbox, projectName) {
295
349
  else {
296
350
  success("No problem, skipping internationalization for now.");
297
351
  }
298
- _b.label = 23;
299
- case 23: return [2 /*return*/, cliResults];
352
+ _b.label = 24;
353
+ case 24: return [2 /*return*/, cliResults];
300
354
  }
301
355
  });
302
356
  });
303
357
  }
304
358
  exports.runCLI = runCLI;
305
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuQ0xJLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxpdGllcy9ydW5DTEkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsMENBQW1FO0FBRW5FLDBDQUE4QztBQVM5Qyx5REFBc0U7QUFFdEUsSUFBTSxxQkFBcUIsR0FBRyxRQUFRLENBQUM7QUFFdkMsU0FBc0IsTUFBTSxDQUFDLE9BQWdCLEVBQUUsV0FBbUI7Ozs7OztvQkFFaEQsT0FBTyxHQUVuQixPQUFPLG1CQUZZLEVBQ3JCLEtBQ0UsT0FBTyxNQUR3QixFQUF4QixJQUFJLFVBQUEsRUFBRSxPQUFPLGFBQUEsRUFBRSxPQUFPLGFBQUEsQ0FDckI7b0JBR04sVUFBVSxHQUFHLDBCQUFjLENBQUM7b0JBRWxDLHNEQUFzRDtvQkFDdEQsVUFBVSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7b0JBQ3JDLFVBQVUsQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO29CQUVqRCx5QkFBeUI7b0JBQ3pCLFVBQVUsQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO29CQUVHLHFCQUFNLElBQUEsaUJBQU8sRUFBQzs0QkFDeEMsT0FBTyxFQUFFLHFEQUFxRDs0QkFDOUQsWUFBWSxFQUFFLElBQUk7eUJBQ25CLENBQUMsRUFBQTs7b0JBSEksbUJBQW1CLEdBQUcsU0FHMUI7b0JBRUYsSUFBSSxJQUFBLGtCQUFRLEVBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDO3dCQUNsQyxJQUFBLGdCQUFNLEVBQUMsaUJBQWlCLENBQUMsQ0FBQzt3QkFDMUIsc0JBQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQztvQkFDekIsQ0FBQztvQkFFRCxJQUFJLG1CQUFtQixFQUFFLENBQUM7d0JBQ3hCLE9BQU8sQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO29CQUNq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
359
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuQ0xJLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxpdGllcy9ydW5DTEkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsMENBQWdGO0FBRWhGLDBDQUE4QztBQVU5Qyx5REFBc0U7QUFFdEUsSUFBTSxxQkFBcUIsR0FBRyxRQUFRLENBQUM7QUFFdkMsU0FBc0IsTUFBTSxDQUFDLE9BQWdCLEVBQUUsV0FBbUI7Ozs7OztvQkFFaEQsT0FBTyxHQUVuQixPQUFPLG1CQUZZLEVBQ3JCLEtBQ0UsT0FBTyxNQUR3QixFQUF4QixJQUFJLFVBQUEsRUFBRSxPQUFPLGFBQUEsRUFBRSxPQUFPLGFBQUEsQ0FDckI7b0JBR04sVUFBVSxHQUFHLDBCQUFjLENBQUM7b0JBRWxDLHNEQUFzRDtvQkFDdEQsVUFBVSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7b0JBQ3JDLFVBQVUsQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO29CQUVqRCx5QkFBeUI7b0JBQ3pCLFVBQVUsQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO29CQUVHLHFCQUFNLElBQUEsaUJBQU8sRUFBQzs0QkFDeEMsT0FBTyxFQUFFLHFEQUFxRDs0QkFDOUQsWUFBWSxFQUFFLElBQUk7eUJBQ25CLENBQUMsRUFBQTs7b0JBSEksbUJBQW1CLEdBQUcsU0FHMUI7b0JBRUYsSUFBSSxJQUFBLGtCQUFRLEVBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDO3dCQUNsQyxJQUFBLGdCQUFNLEVBQUMsaUJBQWlCLENBQUMsQ0FBQzt3QkFDMUIsc0JBQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQztvQkFDekIsQ0FBQztvQkFFRCxJQUFJLG1CQUFtQixFQUFFLENBQUM7d0JBQ3hCLE9BQU8sQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO29CQUNq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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-expo-stack",
3
- "version": "2.7.0-next.e4d108e",
3
+ "version": "2.7.1-next.7228e17",
4
4
  "description": "CLI tool to initialize a React Native application with Expo",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1,34 +0,0 @@
1
- import { ThemeToggle } from '@/components/ThemeToggle';
2
- import { Icon } from '@roninoss/icons';
3
- import { Tabs } from 'expo-router';
4
- import { View } from 'react-native';
5
-
6
- export default function TabsLayout() {
7
- return (
8
- <Tabs screenOptions={SCREEN_OPTIONS}>
9
- <Tabs.Screen name='index' options={INDEX_OPTIONS} />
10
- <Tabs.Screen name='profile' options={PROFILE_OPTIONS} />
11
- </Tabs>
12
- );
13
- }
14
- const SCREEN_OPTIONS = {
15
- headerRight: () => (
16
- <View className='px-4'>
17
- <ThemeToggle />
18
- </View>
19
- ),
20
- };
21
-
22
- const INDEX_OPTIONS = {
23
- title: 'Home',
24
- tabBarIcon({ color, size }: { color: string; size: number }) {
25
- return <Icon name='home' color={color} size={size} />;
26
- },
27
- };
28
-
29
- const PROFILE_OPTIONS = {
30
- title: 'Profile',
31
- tabBarIcon({ color, size }: { color: string; size: number }) {
32
- return <Icon name='person' color={color} size={size} />;
33
- },
34
- };
@@ -1,11 +0,0 @@
1
- import { router } from 'expo-router';
2
- import * as React from 'react';
3
- import { Button, View } from 'react-native';
4
-
5
- export default function HomeScreen() {
6
- return (
7
- <View className='flex-1 justify-center items-center'>
8
- <Button title='Go back' onPress={router.back} />
9
- </View>
10
- );
11
- }
@@ -1,11 +0,0 @@
1
- import { router } from 'expo-router';
2
- import * as React from 'react';
3
- import { Button, View } from 'react-native';
4
-
5
- export default function ProfileScreen() {
6
- return (
7
- <View className='flex-1 justify-center items-center'>
8
- <Button color={'orange'} title='Go to home tab' onPress={router.back} />
9
- </View>
10
- );
11
- }
@@ -1,29 +0,0 @@
1
- import { ThemeToggle } from '@/components/ThemeToggle';
2
- import { useColorScheme } from '@/lib/useColorScheme';
3
- import { Drawer } from 'expo-router/drawer';
4
- import { View } from 'react-native';
5
-
6
- export default function DrawerLayout() {
7
- const { colors } = useColorScheme();
8
- return (
9
- <Drawer
10
- screenOptions={{
11
- headerTintColor: colors.foreground,
12
- headerRight,
13
- }}
14
- >
15
- <Drawer.Screen name='index' options={EXPLORE_OPTIONS} />
16
- </Drawer>
17
- );
18
- }
19
-
20
- function headerRight() {
21
- return (
22
- <View className='px-4'>
23
- <ThemeToggle />
24
- </View>
25
- );
26
- }
27
- const EXPLORE_OPTIONS = {
28
- title: 'Explore',
29
- };
@@ -1,11 +0,0 @@
1
- import { router } from 'expo-router';
2
- import * as React from 'react';
3
- import { Button, View } from 'react-native';
4
-
5
- export default function ExploreScreen() {
6
- return (
7
- <View className='flex-1 justify-center items-center'>
8
- <Button title='Go back' onPress={router.back} />
9
- </View>
10
- );
11
- }
@@ -1,71 +0,0 @@
1
- import { useColorScheme } from '@/lib/useColorScheme';
2
- import type {
3
- MaterialTopTabNavigationEventMap,
4
- MaterialTopTabNavigationOptions,
5
- } from '@react-navigation/material-top-tabs';
6
- import { createMaterialTopTabNavigator } from '@react-navigation/material-top-tabs';
7
- import {
8
- type ParamListBase,
9
- type TabNavigationState,
10
- } from '@react-navigation/native';
11
- import { withLayoutContext } from 'expo-router';
12
- import { Dimensions } from 'react-native';
13
-
14
- const { width } = Dimensions.get('screen');
15
-
16
- const { Navigator } = createMaterialTopTabNavigator();
17
-
18
- const TopTabs = withLayoutContext<
19
- MaterialTopTabNavigationOptions,
20
- typeof Navigator,
21
- TabNavigationState<ParamListBase>,
22
- MaterialTopTabNavigationEventMap
23
- >(Navigator);
24
-
25
- const SCREENS = [
26
- {
27
- name: 'index',
28
- title: 'For You',
29
- },
30
- {
31
- name: 'following',
32
- title: 'Following',
33
- },
34
- {
35
- name: 'my-group',
36
- title: 'My Group',
37
- },
38
- ];
39
-
40
- export default function TopTabsLayout() {
41
- const { colors } = useColorScheme();
42
- return (
43
- <TopTabs
44
- initialRouteName='index'
45
- screenOptions={{
46
- tabBarActiveTintColor: colors.blue,
47
- tabBarInactiveTintColor: 'grey',
48
- tabBarLabelStyle: {
49
- fontSize: 14,
50
- textTransform: 'capitalize',
51
- fontWeight: 'bold',
52
- },
53
- tabBarIndicatorStyle: {
54
- backgroundColor: colors.blue,
55
- },
56
- tabBarScrollEnabled: true,
57
- tabBarItemStyle: { width: width / SCREENS.length },
58
- }}
59
- >
60
- {SCREENS.map(({ name, title }) => (
61
- <TopTabs.Screen
62
- key={name}
63
- name={name}
64
- options={{
65
- title,
66
- }}
67
- />
68
- ))}
69
- </TopTabs>
70
- );
71
- }
@@ -1,13 +0,0 @@
1
- import { Text } from '@/components/Text';
2
- import { View } from 'react-native';
3
-
4
- export default function FollowingScreen() {
5
- return (
6
- <View className='flex-1 justify-center items-center gap-5'>
7
- <View className='items-center gap-1'>
8
- <Text variant='title1'>Following Tab</Text>
9
- <Text>Swipe to see other tabs</Text>
10
- </View>
11
- </View>
12
- );
13
- }
@@ -1,13 +0,0 @@
1
- import { Text } from '@/components/Text';
2
- import { View } from 'react-native';
3
-
4
- export default function ForYouScreen() {
5
- return (
6
- <View className='flex-1 justify-center items-center gap-5'>
7
- <View className='items-center gap-1'>
8
- <Text variant='title1'>For You Tab</Text>
9
- <Text>Swipe to see other tabs</Text>
10
- </View>
11
- </View>
12
- );
13
- }
@@ -1,13 +0,0 @@
1
- import { View } from 'react-native';
2
- import { Text } from '@/components/Text';
3
-
4
- export default function MyGroupScreen() {
5
- return (
6
- <View className='flex-1 justify-center items-center gap-5'>
7
- <View className='items-center gap-1'>
8
- <Text variant='title1'>My Group Tab</Text>
9
- <Text>Swipe to see other tabs</Text>
10
- </View>
11
- </View>
12
- );
13
- }
@@ -1,53 +0,0 @@
1
- import { useColorScheme } from '@/lib/useColorScheme';
2
- import { cn } from '@/lib/utils';
3
- import { COLORS } from '@/theme/colors';
4
- import { Icon } from '@roninoss/icons';
5
- import { Appearance, Pressable, View } from 'react-native';
6
- import Animated, {
7
- LayoutAnimationConfig,
8
- ZoomInRotate,
9
- } from 'react-native-reanimated';
10
-
11
- export function ThemeToggle() {
12
- const { colorScheme, toggleColorScheme } = useColorScheme();
13
- return (
14
- <LayoutAnimationConfig skipEntering>
15
- <Animated.View
16
- className='h-6 w-6 items-center justify-center'
17
- key={`toggle-${colorScheme}`}
18
- entering={ZoomInRotate}
19
- >
20
- <Pressable
21
- onPress={() => {
22
- // ColorScheme is set with `Appearance` as well for the iOS header search placeholder text: https://github.com/software-mansion/react-native-screens/discussions/1758
23
- Appearance.setColorScheme(
24
- colorScheme === 'dark' ? 'light' : 'dark'
25
- );
26
- toggleColorScheme();
27
- }}
28
- className='opacity-80'
29
- >
30
- {colorScheme === 'dark'
31
- ? ({ pressed }) => (
32
- <View className={cn('px-0.5', pressed && 'opacity-50')}>
33
- <Icon
34
- namingScheme='sfSymbol'
35
- name='moon.stars'
36
- color={COLORS.white}
37
- />
38
- </View>
39
- )
40
- : ({ pressed }) => (
41
- <View className={cn('px-0.5', pressed && 'opacity-50')}>
42
- <Icon
43
- namingScheme='sfSymbol'
44
- name='sun.min'
45
- color={COLORS.black}
46
- />
47
- </View>
48
- )}
49
- </Pressable>
50
- </Animated.View>
51
- </LayoutAnimationConfig>
52
- );
53
- }