@admin-layout/gluestack-ui-mobile 8.5.2-alpha.0 → 8.5.4-alpha.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.
package/CHANGELOG.md CHANGED
@@ -3,7 +3,7 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
- ## [8.5.2-alpha.0](https://github.com/CDEBase/admin-layout/compare/v3.0.0-alpha.50...v8.5.2-alpha.0) (2024-08-14)
6
+ ## [8.5.4-alpha.0](https://github.com/CDEBase/admin-layout/compare/v3.0.0-alpha.50...v8.5.4-alpha.0) (2024-08-21)
7
7
 
8
8
  **Note:** Version bump only for package @admin-layout/gluestack-ui-mobile
9
9
 
@@ -1 +1 @@
1
- export declare const AuthWrapper: ({ auth, component, unauthenticatedComponent }: any) => any;
1
+ export declare const AuthWrapper: ({ auth, component, unauthenticatedComponent, withLifeCycle, withInteraction, withLifeCycleInteraction }: any) => any;
@@ -3,7 +3,8 @@ import { isUserAuthenticated } from '@adminide-stack/user-auth0-client';
3
3
  import { useNavigation } from '@react-navigation/native';
4
4
  import { useSelector } from 'react-redux';
5
5
  import DefaultAuthComponent from './UnAuthenticatedComponent';
6
- export const AuthWrapper = ({ auth = false, component, unauthenticatedComponent = null }) => {
6
+ import { withLifeCycleManaged, withInteractionsManaged, withLifeCycleInteractionsManaged } from './with-interactions-lifecycle-managed';
7
+ export const AuthWrapper = ({ auth = false, component, unauthenticatedComponent = null, withLifeCycle = null, withInteraction = null, withLifeCycleInteraction = null }) => {
7
8
  const user = useSelector((state) => state.user);
8
9
  const { authenticated } = isUserAuthenticated();
9
10
  const navigation = useNavigation();
@@ -11,9 +12,16 @@ export const AuthWrapper = ({ auth = false, component, unauthenticatedComponent
11
12
  if (auth && !user?.profile)
12
13
  navigation.navigate('MainStack.Login');
13
14
  }, [auth, user]);
15
+ const wrapperComponent = withLifeCycle
16
+ ? withLifeCycleManaged(component)
17
+ : withInteraction
18
+ ? withInteractionsManaged(component, withInteraction?.duration ?? null)
19
+ : withLifeCycleInteraction
20
+ ? withLifeCycleInteractionsManaged(component, withLifeCycleInteraction?.duration ?? null)
21
+ : component;
14
22
  if (auth && !user?.profile)
15
23
  return unauthenticatedComponent ? unauthenticatedComponent : React.createElement(DefaultAuthComponent, null);
16
24
  else
17
- return component;
25
+ return wrapperComponent;
18
26
  };
19
27
  //# sourceMappingURL=AuthWrapper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AuthWrapper.js","sourceRoot":"","sources":["../../src/components/AuthWrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,oBAAoB,MAAM,4BAA4B,CAAA;AAE7D,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAC,IAAI,GAAC,KAAK,EAAC,SAAS,EAAC,wBAAwB,GAAC,IAAI,EAAM,EAAE,EAAE;IACtF,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,EAAE,aAAa,EAAE,GAAG,mBAAmB,EAAE,CAAC;IAChD,MAAM,UAAU,GAAG,aAAa,EAAO,CAAC;IAExC,KAAK,CAAC,SAAS,CAAC,GAAE,EAAE;QAClB,IAAG,IAAI,IAAI,CAAC,IAAI,EAAE,OAAO;YAAE,UAAU,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAA;IACnE,CAAC,EAAC,CAAC,IAAI,EAAC,IAAI,CAAC,CAAC,CAAA;IAEd,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,OAAO;QACtB,OAAO,wBAAwB,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAA,oBAAC,oBAAoB,OAAG,CAAC;;QACpF,OAAO,SAAS,CAAC;AAC1B,CAAC,CAAC"}
1
+ {"version":3,"file":"AuthWrapper.js","sourceRoot":"","sources":["../../src/components/AuthWrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,oBAAoB,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAC,oBAAoB,EAAC,uBAAuB,EAAC,gCAAgC,EAAC,MAAM,uCAAuC,CAAC;AAEpI,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAC,IAAI,GAAC,KAAK,EAAC,SAAS,EAAC,wBAAwB,GAAC,IAAI,EAAC,aAAa,GAAC,IAAI,EAAC,eAAe,GAAC,IAAI,EAAC,wBAAwB,GAAC,IAAI,EAAM,EAAE,EAAE;IAC5J,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,EAAE,aAAa,EAAE,GAAG,mBAAmB,EAAE,CAAC;IAChD,MAAM,UAAU,GAAG,aAAa,EAAO,CAAC;IAExC,KAAK,CAAC,SAAS,CAAC,GAAE,EAAE;QAClB,IAAG,IAAI,IAAI,CAAC,IAAI,EAAE,OAAO;YAAE,UAAU,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAA;IACnE,CAAC,EAAC,CAAC,IAAI,EAAC,IAAI,CAAC,CAAC,CAAA;IAEd,MAAM,gBAAgB,GAAG,aAAa;QAC9B,CAAC,CAAC,oBAAoB,CAAC,SAAS,CAAC;QACjC,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,uBAAuB,CAAC,SAAS,EAAC,eAAe,EAAE,QAAQ,IAAE,IAAI,CAAC;YACpE,CAAC,CAAC,wBAAwB;gBAC1B,CAAC,CAAC,gCAAgC,CAAC,SAAS,EAAC,wBAAwB,EAAE,QAAQ,IAAE,IAAI,CAAC;gBACtF,CAAC,CAAA,SAAS,CAAC;IAGnB,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,OAAO;QACtB,OAAO,wBAAwB,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAA,oBAAC,oBAAoB,OAAG,CAAC;;QACpF,OAAO,gBAAgB,CAAC;AACjC,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ export declare function withInteractionsManaged(component: any, interationTime?: number): React.JSX.Element;
3
+ export declare function withLifeCycleInteractionsManaged(component: any, interationTime?: number): React.JSX.Element;
4
+ export declare function withLifeCycleManaged(component: any): React.JSX.Element;
@@ -0,0 +1,50 @@
1
+ import React from 'react';
2
+ // import { Transition, Transitioning } from 'react-native-reanimated';
3
+ import { Lifecycle } from '../containers/layout/Lifecycle';
4
+ import Animated from 'react-native-reanimated';
5
+ import { useAfterInteractions } from '../hooks/use-after-interactions';
6
+ import { Spinner, Center } from '@gluestack-ui/themed';
7
+ import { Platform } from 'react-native';
8
+ const LoadingComponent = () => (
9
+ // <SafeAreaView flex={1}>
10
+ React.createElement(Center, { flex: 1, justifyContent: 'center', alignItems: 'center' }, React.createElement(Spinner, { color: '$blue500' }))
11
+ // </SafeAreaView>
12
+ );
13
+ const IntractionComponent = ({ children, interationTime }) => {
14
+ const { interactionsComplete, opacity, setInteractionsTimeOut } = useAfterInteractions();
15
+ React.useEffect(() => {
16
+ if (interationTime)
17
+ setInteractionsTimeOut(interationTime);
18
+ }, [interationTime]);
19
+ console.log('interactionsComplete', interactionsComplete);
20
+ return (React.createElement(React.Fragment, null, interactionsComplete ? ({ children }) : (React.createElement(Animated.View, { style: {
21
+ flex: 1,
22
+ opacity: opacity.value,
23
+ transform: [{ scale: opacity.value }],
24
+ } },
25
+ React.createElement(LoadingComponent, null)))));
26
+ };
27
+ const IntractionWithLifeCycleComponent = ({ children, interationTime }) => {
28
+ const { interactionsComplete, opacity, setInteractionsTimeOut } = useAfterInteractions();
29
+ React.useEffect(() => {
30
+ if (interationTime)
31
+ setInteractionsTimeOut(interationTime);
32
+ }, [interationTime]);
33
+ console.log('interactionsComplete', interactionsComplete);
34
+ return (React.createElement(React.Fragment, null, interactionsComplete ? (React.createElement(Lifecycle, { renderWhenPhase: 3 /* LifecyclePhase.Restored */, loadingRenderer: LoadingComponent }, children)) : (React.createElement(Animated.View, { style: {
35
+ flex: 1,
36
+ opacity: opacity.value,
37
+ transform: [{ scale: opacity.value }],
38
+ } },
39
+ React.createElement(LoadingComponent, null)))));
40
+ };
41
+ export function withInteractionsManaged(component, interationTime) {
42
+ return (React.createElement(React.Fragment, null, Platform.OS === 'ios' ? ({ component }) : (React.createElement(IntractionComponent, { interationTime: interationTime }, component))));
43
+ }
44
+ export function withLifeCycleInteractionsManaged(component, interationTime) {
45
+ return (React.createElement(React.Fragment, null, Platform.OS === 'ios' ? (React.createElement(Lifecycle, { renderWhenPhase: 3 /* LifecyclePhase.Restored */, loadingRenderer: LoadingComponent }, component)) : (React.createElement(IntractionWithLifeCycleComponent, { interationTime: interationTime }, component))));
46
+ }
47
+ export function withLifeCycleManaged(component) {
48
+ return (React.createElement(Lifecycle, { renderWhenPhase: 3 /* LifecyclePhase.Restored */, loadingRenderer: LoadingComponent }, component));
49
+ }
50
+ //# sourceMappingURL=with-interactions-lifecycle-managed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"with-interactions-lifecycle-managed.js","sourceRoot":"","sources":["../../src/components/with-interactions-lifecycle-managed.tsx"],"names":[],"mappings":"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"}
@@ -14,10 +14,11 @@ export function generateModulesTsFile({ appDirPath, modules, initialRouteName }:
14
14
  modules: any;
15
15
  initialRouteName: any;
16
16
  }): Promise<boolean>;
17
- export function generateStackNavigations({ appDirPath, modules, initialRouteName }: {
17
+ export function generateStackNavigations({ appDirPath, modules, initialRouteName, unauthenticatedComponentPath }: {
18
18
  appDirPath: any;
19
19
  modules: any;
20
20
  initialRouteName: any;
21
+ unauthenticatedComponentPath: any;
21
22
  }): Promise<boolean>;
22
23
  export function generateDrawerNavigations({ appDirPath, modules, initialRouteName, unauthenticatedComponentPath }: {
23
24
  appDirPath: any;
@@ -82,6 +82,21 @@ const makeDir = (dirName) => {
82
82
  });
83
83
  });
84
84
  };
85
+ const getLibPath = async (filePath) => {
86
+ // // Normalize the path to handle different formats
87
+ // const normalizedPath = path.resolve(filePath);
88
+ // Split the path into its components
89
+ const parts = filePath.split(path.sep);
90
+ // Traverse the path components from end to start
91
+ for (let i = parts.length - 1; i >= 0; i--) {
92
+ if (parts[i] === 'lib') {
93
+ // Construct and return the path ending with 'lib'
94
+ return parts.slice(0, i + 1).join(path.sep);
95
+ }
96
+ }
97
+ // Return null if 'lib' is not found
98
+ return null;
99
+ };
85
100
  const getLayoutConfig = async () => {
86
101
  const layoutConfigFileData = await readJsonFile(configFilePath);
87
102
  const layoutSettings = process.env.LAYOUT_SETTINGS ? JSON.parse(process.env.LAYOUT_SETTINGS) : null;
@@ -317,7 +332,7 @@ const generateModulesTsFile = async ({ appDirPath, modules, initialRouteName })
317
332
  }
318
333
  return false;
319
334
  };
320
- const generateStackNavigations = async ({ appDirPath, modules, initialRouteName }) => {
335
+ const generateStackNavigations = async ({ appDirPath, modules, initialRouteName, unauthenticatedComponentPath }) => {
321
336
  const mainRoutes = path.join(appDirPath, `/${mainRoutesFileName}`);
322
337
  const stackDirPath = path.join(appDirPath, `/${stacksDirPath}`);
323
338
  const { layoutConfigFileData, layoutSettings } = await getLayoutConfig();
@@ -355,18 +370,55 @@ const generateStackNavigations = async ({ appDirPath, modules, initialRouteName
355
370
  let moduleContent = '';
356
371
  let moduleRender = '';
357
372
  let stackNavigator = '';
373
+ let customHeaderNames = '';
374
+ let customHeaderPaths = '';
375
+ const regex = /\.(tsx|ts|jsx|js)$/i;
376
+ if (unauthenticatedComponentPath)
377
+ importStatements += `import UnauthenticatedComponent from '${unauthenticatedComponentPath}';\n`;
358
378
  for (const pkg of stackRouteConfig) {
359
379
  moduleContent += `<Stack.Group>`;
360
380
  for (const pkgRouteConfig of pkg) {
361
381
  moduleNumber++;
382
+ let customHeaderName = null;
383
+ if (pkgRouteConfig?.customHeader && Object.keys(pkgRouteConfig?.customHeader)?.length && pkgRouteConfig?.customHeader?.path) {
384
+ const libPath = await getLibPath(pkgRouteConfig.componentPath);
385
+ const importFilePath = pkgRouteConfig?.customHeader?.path?.toString().match(/import\(['"](.*)['"]\)/)[1]?.replace(/\.(tsx|ts|jsx|js)$/i, '.js');
386
+ let headerPath = path.join(libPath, importFilePath);
387
+ if (!regex.test(headerPath)) {
388
+ headerPath = headerPath + '.js';
389
+ }
390
+ customHeaderPaths += `${headerPath},`;
391
+ customHeaderName = `${pkgRouteConfig?.customHeader?.name ?? `CustomHeader${moduleNumber}`}` || `CustomHeader${moduleNumber}`;
392
+ customHeaderNames += `${customHeaderName},`;
393
+ // importStatements += `import CustomHeader${moduleNumber} from '${customHeaderPath}';\n`;
394
+ }
362
395
  importStatements += `import Component${moduleNumber} from '${pkgRouteConfig.componentPath}';\n`;
396
+ const options = JSON.stringify({ ...pkgRouteConfig?.props?.options || {} });
363
397
  moduleContent += `<Stack.Screen
364
398
  key="${pkgRouteConfig.key}"
365
399
  name="${pkgRouteConfig.name}"
366
- component={Component${moduleNumber}}
400
+ // component={Component${moduleNumber}}
367
401
  initialParams={${JSON.stringify(pkgRouteConfig?.props?.initialParams || {})}}
368
- options={${JSON.stringify(pkgRouteConfig?.props?.options || {})}}
369
- />`;
402
+ // options={${JSON.stringify(pkgRouteConfig?.props?.options || {})}}
403
+ options={{...${options},...{${pkgRouteConfig?.customHeader && Object.keys(pkgRouteConfig.customHeader)?.length && pkgRouteConfig?.customHeader?.path
404
+ ? `header: (props: any) => <${customHeaderName} {...props} {...${JSON.stringify(pkgRouteConfig?.customHeader?.props ?? '')}} />`
405
+ : ''}}}}
406
+ >{(props:any) => <AuthWrapper
407
+ auth={${pkgRouteConfig?.props?.initialParams?.auth ?? false}}
408
+ component={<Component${moduleNumber} {...props} />}
409
+ ${unauthenticatedComponentPath ? 'unauthenticatedComponent={<UnauthenticatedComponent/>}' : ""}
410
+ ${pkgRouteConfig?.withLifeCycle ? `withLifeCycle={${JSON.stringify(pkgRouteConfig?.withLifeCycle)}}` : ""}
411
+ ${pkgRouteConfig?.withInteraction ? `withInteraction={${JSON.stringify(pkgRouteConfig?.withInteraction)}}` : ""}
412
+ ${pkgRouteConfig?.withLifeCycleInteraction ? `withLifeCycleInteraction={${JSON.stringify(pkgRouteConfig?.withLifeCycleInteraction)}}` : ""}
413
+ />}</Stack.Screen>`;
414
+ }
415
+ if (customHeaderPaths && customHeaderPaths?.length) {
416
+ const uniqueHeaderNames = [...new Set(customHeaderNames.split(","))]?.filter((str) => str?.length);
417
+ const uniqueHeaderPaths = [...new Set(customHeaderPaths.split(","))]?.filter((str) => str?.length);
418
+ uniqueHeaderPaths?.forEach(function (hPath, i) {
419
+ const impHeaderName = uniqueHeaderNames?.[i] ?? `customHeader${i}`;
420
+ importStatements += `import ${impHeaderName} from '${hPath}';\n`;
421
+ });
370
422
  }
371
423
  moduleContent += `</Stack.Group>`;
372
424
  moduleRender = `export default ({Stack,...rest}:any) => { return (<>${moduleContent}</>)}`;
@@ -397,6 +449,9 @@ const generateDrawerNavigationsFile = async ({ drawerConfig, unauthenticatedComp
397
449
  let moduleRender = '';
398
450
  let moduleNavigation = '';
399
451
  let icons = '';
452
+ let customHeaderNames = '';
453
+ let customHeaderPaths = '';
454
+ const regex = /\.(tsx|ts|jsx|js)$/i;
400
455
  importStatements += `import * as React from 'react';\n`;
401
456
  importStatements += `import {AuthWrapper} from '@admin-layout/gluestack-ui-mobile';\n`;
402
457
  if (unauthenticatedComponentPath)
@@ -406,6 +461,19 @@ const generateDrawerNavigationsFile = async ({ drawerConfig, unauthenticatedComp
406
461
  if (pkgRouteConfig?.icon && Object.keys(pkgRouteConfig.icon)?.length && pkgRouteConfig?.icon?.name) {
407
462
  icons += `${pkgRouteConfig?.icon?.name},`;
408
463
  }
464
+ let customHeaderName = null;
465
+ if (pkgRouteConfig?.customHeader && Object.keys(pkgRouteConfig?.customHeader)?.length && pkgRouteConfig?.customHeader?.path) {
466
+ const libPath = await getLibPath(pkgRouteConfig.componentPath);
467
+ const importFilePath = pkgRouteConfig?.customHeader?.path?.toString().match(/import\(['"](.*)['"]\)/)[1]?.replace(/\.(tsx|ts|jsx|js)$/i, '.js');
468
+ let headerPath = path.join(libPath, importFilePath);
469
+ if (!regex.test(headerPath)) {
470
+ headerPath = headerPath + '.js';
471
+ }
472
+ customHeaderPaths += `${headerPath},`;
473
+ customHeaderName = `${pkgRouteConfig?.customHeader?.name ?? `CustomHeader${moduleNumber}`}` || `CustomHeader${moduleNumber}`;
474
+ customHeaderNames += `${customHeaderName},`;
475
+ // importStatements += `import CustomHeader${moduleNumber} from '${customHeaderPath}';\n`;
476
+ }
409
477
  const options = JSON.stringify({ ...pkgRouteConfig?.props?.options || {} });
410
478
  importStatements += `import Component${moduleNumber} from '${pkgRouteConfig.componentPath}';\n`;
411
479
  moduleContent += `<Drawer.Screen
@@ -413,17 +481,31 @@ const generateDrawerNavigationsFile = async ({ drawerConfig, unauthenticatedComp
413
481
  name="${pkgRouteConfig.name}"
414
482
  //component={Component${moduleNumber}}
415
483
  initialParams={${JSON.stringify(pkgRouteConfig?.props?.initialParams || {})}}
416
- options={{...${options},...{${pkgRouteConfig?.icon && Object.keys(pkgRouteConfig.icon)?.length ? `drawerIcon: ({ color, size }: { color: any,size:any }) => <${pkgRouteConfig?.icon?.name} name="${pkgRouteConfig?.icon?.props?.name ?? 'home'}" size={${pkgRouteConfig?.icon?.props?.size ?? `size`}} color={${pkgRouteConfig?.icon?.props?.color ?? 'color'}} />` : ''}}}}
484
+ options={{...${options},...{${pkgRouteConfig?.icon && Object.keys(pkgRouteConfig.icon)?.length && pkgRouteConfig?.icon?.name ? `drawerIcon: ({ color, size }: { color: any,size:any }) => <${pkgRouteConfig?.icon?.name} name="${pkgRouteConfig?.icon?.props?.name ?? 'home'}" size={${pkgRouteConfig?.icon?.props?.size ?? `size`}} color={${pkgRouteConfig?.icon?.props?.color ?? 'color'}} />` : ''}
485
+ ${pkgRouteConfig?.customHeader && Object.keys(pkgRouteConfig.customHeader)?.length && pkgRouteConfig?.customHeader?.path
486
+ ? `header: (props: any) => <${customHeaderName} {...props} {...${JSON.stringify(pkgRouteConfig?.customHeader?.props ?? '')}} />`
487
+ : ''}}}}
417
488
  >{(props:any) => <AuthWrapper
418
489
  auth={${pkgRouteConfig?.props?.initialParams?.auth ?? false}}
419
490
  component={<Component${moduleNumber} {...props} />}
420
491
  ${unauthenticatedComponentPath ? 'unauthenticatedComponent={<UnauthenticatedComponent/>}' : ""}
492
+ ${pkgRouteConfig?.withLifeCycle ? `withLifeCycle={${JSON.stringify(pkgRouteConfig?.withLifeCycle)}}` : ""}
493
+ ${pkgRouteConfig?.withInteraction ? `withInteraction={${JSON.stringify(pkgRouteConfig?.withInteraction)}}` : ""}
494
+ ${pkgRouteConfig?.withLifeCycleInteraction ? `withLifeCycleInteraction={${JSON.stringify(pkgRouteConfig?.withLifeCycleInteraction)}}` : ""}
421
495
  />}</Drawer.Screen>`;
422
496
  }
423
497
  if (icons && icons?.length) {
424
498
  const uniqueIcons = [...new Set(icons.split(","))].join(",");
425
499
  importStatements += `import { ${uniqueIcons} } from '@expo/vector-icons';\n`;
426
500
  }
501
+ if (customHeaderPaths && customHeaderPaths?.length) {
502
+ const uniqueHeaderNames = [...new Set(customHeaderNames.split(","))]?.filter((str) => str?.length);
503
+ const uniqueHeaderPaths = [...new Set(customHeaderPaths.split(","))]?.filter((str) => str?.length);
504
+ uniqueHeaderPaths?.forEach(function (hPath, i) {
505
+ const impHeaderName = uniqueHeaderNames?.[i] ?? `customHeader${i}`;
506
+ importStatements += `import ${impHeaderName} from '${hPath}';\n`;
507
+ });
508
+ }
427
509
  moduleRender = `export default ({Drawer,...rest}:any) => { return (<>${moduleContent}</>)}`;
428
510
  moduleNavigation = importStatements + '\n' + moduleRender;
429
511
  const drawerNavigator = moduleNavigation;
@@ -511,6 +593,9 @@ const generateBottomTabNavigationsFile = async ({ bottomTabConfig, unauthenticat
511
593
  let moduleRender = '';
512
594
  let moduleNavigation = '';
513
595
  let icons = '';
596
+ let customHeaderNames = '';
597
+ let customHeaderPaths = '';
598
+ const regex = /\.(tsx|ts|jsx|js)$/i;
514
599
  importStatements += `import * as React from 'react';\n`;
515
600
  importStatements += `import {AuthWrapper} from '@admin-layout/gluestack-ui-mobile';\n`;
516
601
  if (unauthenticatedComponentPath)
@@ -520,6 +605,19 @@ const generateBottomTabNavigationsFile = async ({ bottomTabConfig, unauthenticat
520
605
  if (pkgRouteConfig?.icon && Object.keys(pkgRouteConfig.icon)?.length && pkgRouteConfig?.icon?.name) {
521
606
  icons += `${pkgRouteConfig?.icon?.name},`;
522
607
  }
608
+ let customHeaderName = null;
609
+ if (pkgRouteConfig?.customHeader && Object.keys(pkgRouteConfig?.customHeader)?.length && pkgRouteConfig?.customHeader?.path) {
610
+ const libPath = await getLibPath(pkgRouteConfig.componentPath);
611
+ const importFilePath = pkgRouteConfig?.customHeader?.path?.toString().match(/import\(['"](.*)['"]\)/)[1]?.replace(/\.(tsx|ts|jsx|js)$/i, '.js');
612
+ let headerPath = path.join(libPath, importFilePath);
613
+ if (!regex.test(headerPath)) {
614
+ headerPath = headerPath + '.js';
615
+ }
616
+ customHeaderPaths += `${headerPath},`;
617
+ customHeaderName = `${pkgRouteConfig?.customHeader?.name ?? `CustomHeader${moduleNumber}`}` || `CustomHeader${moduleNumber}`;
618
+ customHeaderNames += `${customHeaderName},`;
619
+ // importStatements += `import CustomHeader${moduleNumber} from '${customHeaderPath}';\n`;
620
+ }
523
621
  const options = JSON.stringify({ ...pkgRouteConfig?.props?.options, headerShown: mixLayout ? false : pkgRouteConfig?.props?.options?.headerShown } || { headerShown: mixLayout ? false : true });
524
622
  importStatements += `import Component${moduleNumber} from '${pkgRouteConfig.componentPath}';\n`;
525
623
  moduleContent += `<Tab.Screen
@@ -527,11 +625,20 @@ const generateBottomTabNavigationsFile = async ({ bottomTabConfig, unauthenticat
527
625
  name="${pkgRouteConfig.name}"
528
626
  //component={Component${moduleNumber}}
529
627
  initialParams={${JSON.stringify(pkgRouteConfig?.props?.initialParams || {})}}
530
- options={{...${options},...{${pkgRouteConfig?.icon && Object.keys(pkgRouteConfig.icon)?.length ? `tabBarIcon: ({ color }: { color: any }) => <${pkgRouteConfig?.icon?.name} name="${pkgRouteConfig?.icon?.props?.name ?? 'home'}" size={${pkgRouteConfig?.icon?.props?.size ?? 24}} color={${pkgRouteConfig?.icon?.props?.color ?? 'color'}} />` : ''}}}}
628
+ options={{...${options},...{${pkgRouteConfig?.icon && Object.keys(pkgRouteConfig.icon)?.length && pkgRouteConfig?.icon?.name
629
+ ? `tabBarIcon: ({ color }: { color: any }) => <${pkgRouteConfig?.icon?.name} name="${pkgRouteConfig?.icon?.props?.name ?? 'home'}" size={${pkgRouteConfig?.icon?.props?.size ?? 24}} color={${pkgRouteConfig?.icon?.props?.color ?? 'color'}} />`
630
+ : ''}
631
+ ${pkgRouteConfig?.customHeader && Object.keys(pkgRouteConfig.customHeader)?.length && pkgRouteConfig?.customHeader?.path
632
+ ? `,header: (props: any) => <${customHeaderName} {...props} {...${JSON.stringify(pkgRouteConfig?.customHeader?.props ?? '')}} />`
633
+ : ''}
634
+ }}}
531
635
  >{(props:any) => <AuthWrapper
532
636
  auth={${pkgRouteConfig?.props?.initialParams?.auth ?? false}}
533
637
  component={<Component${moduleNumber} {...props} />}
534
638
  ${unauthenticatedComponentPath ? 'unauthenticatedComponent={<UnauthenticatedComponent/>}' : ""}
639
+ ${pkgRouteConfig?.withLifeCycle ? `withLifeCycle={${JSON.stringify(pkgRouteConfig?.withLifeCycle)}}` : ""}
640
+ ${pkgRouteConfig?.withInteraction ? `withInteraction={${JSON.stringify(pkgRouteConfig?.withInteraction)}}` : ""}
641
+ ${pkgRouteConfig?.withLifeCycleInteraction ? `withLifeCycleInteraction={${JSON.stringify(pkgRouteConfig?.withLifeCycleInteraction)}}` : ""}
535
642
  />}
536
643
  </Tab.Screen>`;
537
644
  }
@@ -539,6 +646,14 @@ const generateBottomTabNavigationsFile = async ({ bottomTabConfig, unauthenticat
539
646
  const uniqueIcons = [...new Set(icons.split(","))].join(",");
540
647
  importStatements += `import { ${uniqueIcons} } from '@expo/vector-icons';\n`;
541
648
  }
649
+ if (customHeaderPaths && customHeaderPaths?.length) {
650
+ const uniqueHeaderNames = [...new Set(customHeaderNames.split(","))]?.filter((str) => str?.length);
651
+ const uniqueHeaderPaths = [...new Set(customHeaderPaths.split(","))]?.filter((str) => str?.length);
652
+ uniqueHeaderPaths?.forEach(function (hPath, i) {
653
+ const impHeaderName = uniqueHeaderNames?.[i] ?? `customHeader${i}`;
654
+ importStatements += `import ${impHeaderName} from '${hPath}';\n`;
655
+ });
656
+ }
542
657
  moduleRender = `export default ({Tab,...rest}:any) => { return (<>${moduleContent}</>)}`;
543
658
  moduleNavigation = importStatements + '\n' + moduleRender;
544
659
  const bottomTabNavigator = moduleNavigation;
@@ -900,7 +1015,7 @@ const generateAppNavigations = async ({ appDirPath, modules, initialRouteName =
900
1015
  if (isAppRoutesGenerated) {
901
1016
  const isModuleTsFileGenerated = await generateModulesTsFile({ appDirPath, modules, initialRouteName });
902
1017
  if (isModuleTsFileGenerated) {
903
- const isStackCreated = await generateStackNavigations({ appDirPath, modules, initialRouteName });
1018
+ const isStackCreated = await generateStackNavigations({ appDirPath, modules, initialRouteName, unauthenticatedComponentPath });
904
1019
  if (isStackCreated) {
905
1020
  if (layoutType == 'side') {
906
1021
  const isDrawerGenerated = await generateDrawerNavigations({ appDirPath, modules, initialRouteName, unauthenticatedComponentPath });
@@ -1 +1 @@
1
- {"version":3,"file":"generateAppNavigations.mjs","sourceRoot":"","sources":["../../src/utils/generateAppNavigations.mjs"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generateAppNavigations.mjs","sourceRoot":"","sources":["../../src/utils/generateAppNavigations.mjs"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,32 +1,30 @@
1
1
  {
2
2
  "name": "@admin-layout/gluestack-ui-mobile",
3
- "version": "8.5.2-alpha.0",
3
+ "version": "8.5.4-alpha.0",
4
4
  "description": "Glustack-ui for mobile component layout",
5
+ "license": "ISC",
6
+ "author": "CDMBase LLC",
5
7
  "main": "lib/index.js",
6
8
  "type": "module",
9
+ "typings": "lib/index.d.ts",
7
10
  "scripts": {
8
- "jest": "./node_modules/.bin/jest",
9
- "test:debug": "npm test -- --runInBand",
10
- "test:watch": "npm test -- --watch",
11
- "prepublish": "npm run build",
12
- "watch": "npm run build:lib:watch",
13
11
  "build": "npm run build:clean && npm run build:lib",
14
12
  "build:clean": "rimraf lib",
15
13
  "build:replacedRouteConfig": "npx rollup lib/utils/getReplacedRouteConfig.js --file lib/utils/getReplacedRouteConfig.mjs",
16
14
  "build:lib": "tsc && yarn build:replacedRouteConfig",
17
15
  "build:lib:watch": "npm run build:lib -- --watch",
16
+ "jest": "./node_modules/.bin/jest",
17
+ "prepublish": "npm run build",
18
18
  "test": "yarn tests && yarn lint",
19
+ "test:debug": "npm test -- --runInBand",
20
+ "test:watch": "npm test -- --watch",
19
21
  "tests": "jest --updateSnapshot",
20
- "tests:watch": "jest --watch"
22
+ "tests:watch": "jest --watch",
23
+ "watch": "npm run build:lib:watch"
21
24
  },
22
- "publishConfig": {
23
- "access": "public"
24
- },
25
- "author": "CDMBase LLC",
26
- "license": "ISC",
27
25
  "dependencies": {
28
- "@admin-layout/client": "8.5.2-alpha.0",
29
- "@common-stack/remix-router-redux": "^5.0.4-alpha.5",
26
+ "@admin-layout/client": "8.5.4-alpha.0",
27
+ "@common-stack/remix-router-redux": "^5.0.6-alpha.3",
30
28
  "@gluestack-style/react": "^1.0.53",
31
29
  "@gluestack-ui/config": "^1.1.18",
32
30
  "@gluestack-ui/themed": "^1.1.22",
@@ -36,9 +34,11 @@
36
34
  "react-native-svg": "13.9.0",
37
35
  "react-native-toast-message": "^2.1.5"
38
36
  },
39
- "typings": "lib/index.d.ts",
37
+ "publishConfig": {
38
+ "access": "public"
39
+ },
40
40
  "typescript": {
41
41
  "definition": "lib/index.d.ts"
42
42
  },
43
- "gitHead": "1edad82c77bfa20e749a8e35083938e4a7680d72"
43
+ "gitHead": "60f73cfbd4f4b1f230948cc98f79039c716ba6ed"
44
44
  }
@@ -2,9 +2,10 @@ import React from 'react';
2
2
  import { isUserAuthenticated } from '@adminide-stack/user-auth0-client';
3
3
  import { useNavigation } from '@react-navigation/native';
4
4
  import { useSelector } from 'react-redux';
5
- import DefaultAuthComponent from './UnAuthenticatedComponent'
5
+ import DefaultAuthComponent from './UnAuthenticatedComponent';
6
+ import {withLifeCycleManaged,withInteractionsManaged,withLifeCycleInteractionsManaged} from './with-interactions-lifecycle-managed';
6
7
 
7
- export const AuthWrapper = ({auth=false,component,unauthenticatedComponent=null}: any) => {
8
+ export const AuthWrapper = ({auth=false,component,unauthenticatedComponent=null,withLifeCycle=null,withInteraction=null,withLifeCycleInteraction=null}: any) => {
8
9
  const user = useSelector((state: any) => state.user);
9
10
  const { authenticated } = isUserAuthenticated();
10
11
  const navigation = useNavigation<any>();
@@ -13,7 +14,16 @@ export const AuthWrapper = ({auth=false,component,unauthenticatedComponent=null}
13
14
  if(auth && !user?.profile) navigation.navigate('MainStack.Login')
14
15
  },[auth,user])
15
16
 
17
+ const wrapperComponent = withLifeCycle
18
+ ? withLifeCycleManaged(component)
19
+ : withInteraction
20
+ ? withInteractionsManaged(component,withInteraction?.duration??null)
21
+ : withLifeCycleInteraction
22
+ ? withLifeCycleInteractionsManaged(component,withLifeCycleInteraction?.duration??null)
23
+ :component;
24
+
25
+
16
26
  if (auth && !user?.profile)
17
27
  return unauthenticatedComponent ? unauthenticatedComponent :<DefaultAuthComponent />;
18
- else return component;
28
+ else return wrapperComponent;
19
29
  };
@@ -0,0 +1,105 @@
1
+ import React, { ComponentType } from 'react';
2
+ // import { Transition, Transitioning } from 'react-native-reanimated';
3
+ import { Lifecycle } from '../containers/layout/Lifecycle';
4
+ import { LifecyclePhase } from '@workbench-stack/core';
5
+ import Animated, { useSharedValue, withTiming } from 'react-native-reanimated';
6
+ import { useAfterInteractions } from '../hooks/use-after-interactions';
7
+ import { Box, Spinner, SafeAreaView, Center } from '@gluestack-ui/themed';
8
+ import hoistNonReactStatics from 'hoist-non-react-statics';
9
+ import { Platform } from 'react-native';
10
+
11
+ const LoadingComponent = () => (
12
+ // <SafeAreaView flex={1}>
13
+ <Center flex={1} justifyContent={'center'} alignItems={'center'}>
14
+ {<Spinner color={'$blue500'} />}
15
+ </Center>
16
+ // </SafeAreaView>
17
+ );
18
+
19
+ const IntractionComponent = ({ children, interationTime }) => {
20
+ const { interactionsComplete, opacity, setInteractionsTimeOut } = useAfterInteractions();
21
+ React.useEffect(() => {
22
+ if (interationTime) setInteractionsTimeOut(interationTime);
23
+ }, [interationTime]);
24
+ console.log('interactionsComplete', interactionsComplete);
25
+ return (
26
+ <>
27
+ {interactionsComplete ? (
28
+ { children }
29
+ ) : (
30
+ <Animated.View
31
+ style={{
32
+ flex: 1,
33
+ opacity: opacity.value,
34
+ transform: [{ scale: opacity.value }],
35
+ }}
36
+ >
37
+ <LoadingComponent />
38
+ </Animated.View>
39
+ )}
40
+ </>
41
+ );
42
+ };
43
+
44
+ const IntractionWithLifeCycleComponent = ({ children, interationTime }) => {
45
+ const { interactionsComplete, opacity, setInteractionsTimeOut } = useAfterInteractions();
46
+ React.useEffect(() => {
47
+ if (interationTime) setInteractionsTimeOut(interationTime);
48
+ }, [interationTime]);
49
+ console.log('interactionsComplete', interactionsComplete);
50
+ return (
51
+ <>
52
+ {interactionsComplete ? (
53
+ <Lifecycle renderWhenPhase={LifecyclePhase.Restored} loadingRenderer={LoadingComponent}>
54
+ {children}
55
+ </Lifecycle>
56
+ ) : (
57
+ <Animated.View
58
+ style={{
59
+ flex: 1,
60
+ opacity: opacity.value,
61
+ transform: [{ scale: opacity.value }],
62
+ }}
63
+ >
64
+ <LoadingComponent />
65
+ </Animated.View>
66
+ )}
67
+ </>
68
+ );
69
+ };
70
+
71
+ export function withInteractionsManaged(component: any, interationTime?: number) {
72
+ return (
73
+ <>
74
+ {Platform.OS === 'ios' ? (
75
+ { component }
76
+ ) : (
77
+ <IntractionComponent interationTime={interationTime}>{component}</IntractionComponent>
78
+ )}
79
+ </>
80
+ );
81
+ }
82
+
83
+ export function withLifeCycleInteractionsManaged(component: any, interationTime?: number) {
84
+ return (
85
+ <>
86
+ {Platform.OS === 'ios' ? (
87
+ <Lifecycle renderWhenPhase={LifecyclePhase.Restored} loadingRenderer={LoadingComponent}>
88
+ {component}
89
+ </Lifecycle>
90
+ ) : (
91
+ <IntractionWithLifeCycleComponent interationTime={interationTime}>
92
+ {component}
93
+ </IntractionWithLifeCycleComponent>
94
+ )}
95
+ </>
96
+ );
97
+ }
98
+
99
+ export function withLifeCycleManaged(component: any) {
100
+ return (
101
+ <Lifecycle renderWhenPhase={LifecyclePhase.Restored} loadingRenderer={LoadingComponent}>
102
+ {component}
103
+ </Lifecycle>
104
+ );
105
+ }
@@ -88,6 +88,25 @@ const makeDir = (dirName) => {
88
88
  });
89
89
  }
90
90
 
91
+ const getLibPath = async (filePath) => {
92
+ // // Normalize the path to handle different formats
93
+ // const normalizedPath = path.resolve(filePath);
94
+
95
+ // Split the path into its components
96
+ const parts = filePath.split(path.sep);
97
+
98
+ // Traverse the path components from end to start
99
+ for (let i = parts.length - 1; i >= 0; i--) {
100
+ if (parts[i] === 'lib') {
101
+ // Construct and return the path ending with 'lib'
102
+ return parts.slice(0, i + 1).join(path.sep);
103
+ }
104
+ }
105
+
106
+ // Return null if 'lib' is not found
107
+ return null;
108
+ }
109
+
91
110
  const getLayoutConfig = async () => {
92
111
  const layoutConfigFileData = await readJsonFile(configFilePath);
93
112
  const layoutSettings = process.env.LAYOUT_SETTINGS ? JSON.parse(process.env.LAYOUT_SETTINGS) : null;
@@ -326,7 +345,7 @@ const makeDir = (dirName) => {
326
345
  }
327
346
 
328
347
 
329
- const generateStackNavigations = async ({appDirPath,modules,initialRouteName}) => {
348
+ const generateStackNavigations = async ({appDirPath,modules,initialRouteName,unauthenticatedComponentPath}) => {
330
349
  const mainRoutes = path.join(appDirPath, `/${mainRoutesFileName}`);
331
350
  const stackDirPath = path.join(appDirPath, `/${stacksDirPath}`);
332
351
  const {layoutConfigFileData,layoutSettings} = await getLayoutConfig();
@@ -368,19 +387,60 @@ const makeDir = (dirName) => {
368
387
  let moduleContent ='';
369
388
  let moduleRender = '';
370
389
  let stackNavigator = '';
390
+ let customHeaderNames = '';
391
+ let customHeaderPaths = '';
392
+ const regex = /\.(tsx|ts|jsx|js)$/i;
393
+
394
+ if(unauthenticatedComponentPath)
395
+ importStatements += `import UnauthenticatedComponent from '${unauthenticatedComponentPath}';\n`;
396
+
371
397
  for (const pkg of stackRouteConfig) {
372
398
  moduleContent += `<Stack.Group>`;
373
399
  for(const pkgRouteConfig of pkg){
374
400
  moduleNumber++;
401
+ let customHeaderName = null;
402
+ if(pkgRouteConfig?.customHeader && Object.keys(pkgRouteConfig?.customHeader)?.length && pkgRouteConfig?.customHeader?.path)
403
+ {
404
+ const libPath = await getLibPath(pkgRouteConfig.componentPath);
405
+ const importFilePath = pkgRouteConfig?.customHeader?.path?.toString().match(/import\(['"](.*)['"]\)/)[1]?.replace(/\.(tsx|ts|jsx|js)$/i, '.js');
406
+ let headerPath = path.join(libPath,importFilePath);
407
+ if (!regex.test(headerPath)) {
408
+ headerPath = headerPath + '.js';
409
+ }
410
+ customHeaderPaths += `${headerPath},`;
411
+ customHeaderName = `${pkgRouteConfig?.customHeader?.name??`CustomHeader${moduleNumber}`}`|| `CustomHeader${moduleNumber}`;
412
+ customHeaderNames += `${customHeaderName},`;
413
+ // importStatements += `import CustomHeader${moduleNumber} from '${customHeaderPath}';\n`;
414
+ }
415
+
375
416
  importStatements += `import Component${moduleNumber} from '${pkgRouteConfig.componentPath}';\n`;
417
+ const options = JSON.stringify({...pkgRouteConfig?.props?.options || {}});
376
418
  moduleContent += `<Stack.Screen
377
419
  key="${pkgRouteConfig.key}"
378
420
  name="${pkgRouteConfig.name}"
379
- component={Component${moduleNumber}}
421
+ // component={Component${moduleNumber}}
380
422
  initialParams={${JSON.stringify(pkgRouteConfig?.props?.initialParams || {})}}
381
- options={${JSON.stringify(pkgRouteConfig?.props?.options || {})}}
382
- />`;
423
+ // options={${JSON.stringify(pkgRouteConfig?.props?.options || {})}}
424
+ options={{...${options},...{${pkgRouteConfig?.customHeader && Object.keys(pkgRouteConfig.customHeader)?.length && pkgRouteConfig?.customHeader?.path
425
+ ? `header: (props: any) => <${customHeaderName} {...props} {...${JSON.stringify(pkgRouteConfig?.customHeader?.props??'')}} />`
426
+ :''}}}}
427
+ >{(props:any) => <AuthWrapper
428
+ auth={${pkgRouteConfig?.props?.initialParams?.auth??false}}
429
+ component={<Component${moduleNumber} {...props} />}
430
+ ${unauthenticatedComponentPath ? 'unauthenticatedComponent={<UnauthenticatedComponent/>}' : ""}
431
+ ${pkgRouteConfig?.withLifeCycle ? `withLifeCycle={${JSON.stringify(pkgRouteConfig?.withLifeCycle)}}` : ""}
432
+ ${pkgRouteConfig?.withInteraction ? `withInteraction={${JSON.stringify(pkgRouteConfig?.withInteraction)}}` : ""}
433
+ ${pkgRouteConfig?.withLifeCycleInteraction ? `withLifeCycleInteraction={${JSON.stringify(pkgRouteConfig?.withLifeCycleInteraction)}}` : ""}
434
+ />}</Stack.Screen>`;
383
435
  }
436
+ if(customHeaderPaths && customHeaderPaths?.length){
437
+ const uniqueHeaderNames = [...new Set(customHeaderNames.split(","))]?.filter((str)=>str?.length);
438
+ const uniqueHeaderPaths = [...new Set(customHeaderPaths.split(","))]?.filter((str)=>str?.length);
439
+ uniqueHeaderPaths?.forEach(function (hPath, i) {
440
+ const impHeaderName = uniqueHeaderNames?.[i]??`customHeader${i}`
441
+ importStatements += `import ${impHeaderName} from '${hPath}';\n`;
442
+ });
443
+ }
384
444
  moduleContent += `</Stack.Group>`;
385
445
  moduleRender = `export default ({Stack,...rest}:any) => { return (<>${moduleContent}</>)}`;
386
446
 
@@ -409,6 +469,9 @@ const makeDir = (dirName) => {
409
469
  let moduleRender = '';
410
470
  let moduleNavigation = '';
411
471
  let icons = '';
472
+ let customHeaderNames = '';
473
+ let customHeaderPaths = '';
474
+ const regex = /\.(tsx|ts|jsx|js)$/i;
412
475
 
413
476
  importStatements += `import * as React from 'react';\n`;
414
477
  importStatements += `import {AuthWrapper} from '@admin-layout/gluestack-ui-mobile';\n`;
@@ -422,6 +485,21 @@ const makeDir = (dirName) => {
422
485
  if(pkgRouteConfig?.icon && Object.keys(pkgRouteConfig.icon)?.length && pkgRouteConfig?.icon?.name){
423
486
  icons += `${pkgRouteConfig?.icon?.name},`;
424
487
  }
488
+ let customHeaderName = null;
489
+ if(pkgRouteConfig?.customHeader && Object.keys(pkgRouteConfig?.customHeader)?.length && pkgRouteConfig?.customHeader?.path)
490
+ {
491
+ const libPath = await getLibPath(pkgRouteConfig.componentPath);
492
+ const importFilePath = pkgRouteConfig?.customHeader?.path?.toString().match(/import\(['"](.*)['"]\)/)[1]?.replace(/\.(tsx|ts|jsx|js)$/i, '.js');
493
+ let headerPath = path.join(libPath,importFilePath);
494
+ if (!regex.test(headerPath)) {
495
+ headerPath = headerPath + '.js';
496
+ }
497
+ customHeaderPaths += `${headerPath},`;
498
+ customHeaderName = `${pkgRouteConfig?.customHeader?.name??`CustomHeader${moduleNumber}`}`|| `CustomHeader${moduleNumber}`;
499
+ customHeaderNames += `${customHeaderName},`;
500
+ // importStatements += `import CustomHeader${moduleNumber} from '${customHeaderPath}';\n`;
501
+ }
502
+
425
503
  const options = JSON.stringify({...pkgRouteConfig?.props?.options || {}});
426
504
  importStatements += `import Component${moduleNumber} from '${pkgRouteConfig.componentPath}';\n`;
427
505
  moduleContent += `<Drawer.Screen
@@ -429,11 +507,17 @@ const makeDir = (dirName) => {
429
507
  name="${pkgRouteConfig.name}"
430
508
  //component={Component${moduleNumber}}
431
509
  initialParams={${JSON.stringify(pkgRouteConfig?.props?.initialParams || {})}}
432
- options={{...${options},...{${pkgRouteConfig?.icon && Object.keys(pkgRouteConfig.icon)?.length ? `drawerIcon: ({ color, size }: { color: any,size:any }) => <${pkgRouteConfig?.icon?.name} name="${pkgRouteConfig?.icon?.props?.name??'home'}" size={${pkgRouteConfig?.icon?.props?.size??`size`}} color={${pkgRouteConfig?.icon?.props?.color??'color'}} />`:''}}}}
510
+ options={{...${options},...{${pkgRouteConfig?.icon && Object.keys(pkgRouteConfig.icon)?.length && pkgRouteConfig?.icon?.name ? `drawerIcon: ({ color, size }: { color: any,size:any }) => <${pkgRouteConfig?.icon?.name} name="${pkgRouteConfig?.icon?.props?.name??'home'}" size={${pkgRouteConfig?.icon?.props?.size??`size`}} color={${pkgRouteConfig?.icon?.props?.color??'color'}} />`:''}
511
+ ${pkgRouteConfig?.customHeader && Object.keys(pkgRouteConfig.customHeader)?.length && pkgRouteConfig?.customHeader?.path
512
+ ? `header: (props: any) => <${customHeaderName} {...props} {...${JSON.stringify(pkgRouteConfig?.customHeader?.props??'')}} />`
513
+ :''}}}}
433
514
  >{(props:any) => <AuthWrapper
434
515
  auth={${pkgRouteConfig?.props?.initialParams?.auth??false}}
435
516
  component={<Component${moduleNumber} {...props} />}
436
517
  ${unauthenticatedComponentPath ? 'unauthenticatedComponent={<UnauthenticatedComponent/>}' : ""}
518
+ ${pkgRouteConfig?.withLifeCycle ? `withLifeCycle={${JSON.stringify(pkgRouteConfig?.withLifeCycle)}}` : ""}
519
+ ${pkgRouteConfig?.withInteraction ? `withInteraction={${JSON.stringify(pkgRouteConfig?.withInteraction)}}` : ""}
520
+ ${pkgRouteConfig?.withLifeCycleInteraction ? `withLifeCycleInteraction={${JSON.stringify(pkgRouteConfig?.withLifeCycleInteraction)}}` : ""}
437
521
  />}</Drawer.Screen>`;
438
522
  }
439
523
  if(icons && icons?.length){
@@ -441,6 +525,15 @@ const makeDir = (dirName) => {
441
525
  importStatements += `import { ${uniqueIcons} } from '@expo/vector-icons';\n`;
442
526
  }
443
527
 
528
+ if(customHeaderPaths && customHeaderPaths?.length){
529
+ const uniqueHeaderNames = [...new Set(customHeaderNames.split(","))]?.filter((str)=>str?.length);
530
+ const uniqueHeaderPaths = [...new Set(customHeaderPaths.split(","))]?.filter((str)=>str?.length);
531
+ uniqueHeaderPaths?.forEach(function (hPath, i) {
532
+ const impHeaderName = uniqueHeaderNames?.[i]??`customHeader${i}`
533
+ importStatements += `import ${impHeaderName} from '${hPath}';\n`;
534
+ });
535
+ }
536
+
444
537
  moduleRender = `export default ({Drawer,...rest}:any) => { return (<>${moduleContent}</>)}`;
445
538
  moduleNavigation = importStatements + '\n' + moduleRender;
446
539
 
@@ -525,6 +618,9 @@ const makeDir = (dirName) => {
525
618
  let moduleRender = '';
526
619
  let moduleNavigation = '';
527
620
  let icons = '';
621
+ let customHeaderNames = '';
622
+ let customHeaderPaths = '';
623
+ const regex = /\.(tsx|ts|jsx|js)$/i;
528
624
 
529
625
  importStatements += `import * as React from 'react';\n`;
530
626
  importStatements += `import {AuthWrapper} from '@admin-layout/gluestack-ui-mobile';\n`;
@@ -537,6 +633,22 @@ const makeDir = (dirName) => {
537
633
  if(pkgRouteConfig?.icon && Object.keys(pkgRouteConfig.icon)?.length && pkgRouteConfig?.icon?.name){
538
634
  icons += `${pkgRouteConfig?.icon?.name},`;
539
635
  }
636
+
637
+
638
+ let customHeaderName = null;
639
+ if(pkgRouteConfig?.customHeader && Object.keys(pkgRouteConfig?.customHeader)?.length && pkgRouteConfig?.customHeader?.path)
640
+ {
641
+ const libPath = await getLibPath(pkgRouteConfig.componentPath);
642
+ const importFilePath = pkgRouteConfig?.customHeader?.path?.toString().match(/import\(['"](.*)['"]\)/)[1]?.replace(/\.(tsx|ts|jsx|js)$/i, '.js');
643
+ let headerPath = path.join(libPath,importFilePath);
644
+ if (!regex.test(headerPath)) {
645
+ headerPath = headerPath + '.js';
646
+ }
647
+ customHeaderPaths += `${headerPath},`;
648
+ customHeaderName = `${pkgRouteConfig?.customHeader?.name??`CustomHeader${moduleNumber}`}`|| `CustomHeader${moduleNumber}`;
649
+ customHeaderNames += `${customHeaderName},`;
650
+ // importStatements += `import CustomHeader${moduleNumber} from '${customHeaderPath}';\n`;
651
+ }
540
652
 
541
653
  const options = JSON.stringify({...pkgRouteConfig?.props?.options,headerShown:mixLayout?false:pkgRouteConfig?.props?.options?.headerShown} || {headerShown:mixLayout?false:true});
542
654
  importStatements += `import Component${moduleNumber} from '${pkgRouteConfig.componentPath}';\n`;
@@ -545,11 +657,20 @@ const makeDir = (dirName) => {
545
657
  name="${pkgRouteConfig.name}"
546
658
  //component={Component${moduleNumber}}
547
659
  initialParams={${JSON.stringify(pkgRouteConfig?.props?.initialParams || {})}}
548
- options={{...${options},...{${pkgRouteConfig?.icon && Object.keys(pkgRouteConfig.icon)?.length ? `tabBarIcon: ({ color }: { color: any }) => <${pkgRouteConfig?.icon?.name} name="${pkgRouteConfig?.icon?.props?.name??'home'}" size={${pkgRouteConfig?.icon?.props?.size??24}} color={${pkgRouteConfig?.icon?.props?.color??'color'}} />`:''}}}}
660
+ options={{...${options},...{${pkgRouteConfig?.icon && Object.keys(pkgRouteConfig.icon)?.length && pkgRouteConfig?.icon?.name
661
+ ? `tabBarIcon: ({ color }: { color: any }) => <${pkgRouteConfig?.icon?.name} name="${pkgRouteConfig?.icon?.props?.name??'home'}" size={${pkgRouteConfig?.icon?.props?.size??24}} color={${pkgRouteConfig?.icon?.props?.color??'color'}} />`
662
+ :''}
663
+ ${pkgRouteConfig?.customHeader && Object.keys(pkgRouteConfig.customHeader)?.length && pkgRouteConfig?.customHeader?.path
664
+ ? `,header: (props: any) => <${customHeaderName} {...props} {...${JSON.stringify(pkgRouteConfig?.customHeader?.props??'')}} />`
665
+ :''}
666
+ }}}
549
667
  >{(props:any) => <AuthWrapper
550
668
  auth={${pkgRouteConfig?.props?.initialParams?.auth??false}}
551
669
  component={<Component${moduleNumber} {...props} />}
552
670
  ${unauthenticatedComponentPath ? 'unauthenticatedComponent={<UnauthenticatedComponent/>}' : ""}
671
+ ${pkgRouteConfig?.withLifeCycle ? `withLifeCycle={${JSON.stringify(pkgRouteConfig?.withLifeCycle)}}` : ""}
672
+ ${pkgRouteConfig?.withInteraction ? `withInteraction={${JSON.stringify(pkgRouteConfig?.withInteraction)}}` : ""}
673
+ ${pkgRouteConfig?.withLifeCycleInteraction ? `withLifeCycleInteraction={${JSON.stringify(pkgRouteConfig?.withLifeCycleInteraction)}}` : ""}
553
674
  />}
554
675
  </Tab.Screen>`;
555
676
  }
@@ -558,6 +679,15 @@ const makeDir = (dirName) => {
558
679
  const uniqueIcons = [...new Set(icons.split(","))].join(",");
559
680
  importStatements += `import { ${uniqueIcons} } from '@expo/vector-icons';\n`;
560
681
  }
682
+
683
+ if(customHeaderPaths && customHeaderPaths?.length){
684
+ const uniqueHeaderNames = [...new Set(customHeaderNames.split(","))]?.filter((str)=>str?.length);
685
+ const uniqueHeaderPaths = [...new Set(customHeaderPaths.split(","))]?.filter((str)=>str?.length);
686
+ uniqueHeaderPaths?.forEach(function (hPath, i) {
687
+ const impHeaderName = uniqueHeaderNames?.[i]??`customHeader${i}`
688
+ importStatements += `import ${impHeaderName} from '${hPath}';\n`;
689
+ });
690
+ }
561
691
 
562
692
  moduleRender = `export default ({Tab,...rest}:any) => { return (<>${moduleContent}</>)}`;
563
693
  moduleNavigation = importStatements + '\n' + moduleRender;
@@ -931,7 +1061,7 @@ const makeDir = (dirName) => {
931
1061
  if(isAppRoutesGenerated){
932
1062
  const isModuleTsFileGenerated = await generateModulesTsFile({appDirPath,modules,initialRouteName});
933
1063
  if(isModuleTsFileGenerated){
934
- const isStackCreated = await generateStackNavigations({appDirPath,modules,initialRouteName});
1064
+ const isStackCreated = await generateStackNavigations({appDirPath,modules,initialRouteName,unauthenticatedComponentPath});
935
1065
  if(isStackCreated){
936
1066
  if(layoutType=='side'){
937
1067
  const isDrawerGenerated= await generateDrawerNavigations({appDirPath,modules,initialRouteName,unauthenticatedComponentPath});