@admin-layout/gluestack-ui-mobile 12.2.4-alpha.0 → 12.2.4-alpha.12

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 (42) hide show
  1. package/CHANGELOG.md +32 -8
  2. package/lib/components/ErrorBounday.js.map +1 -1
  3. package/lib/components/Fallback.js +11 -11
  4. package/lib/components/Fallback.js.map +1 -1
  5. package/lib/components/Layout/components/BasicLayout.js +1 -5
  6. package/lib/components/Layout/components/BasicLayout.js.map +1 -1
  7. package/lib/components/Layout/components/BottomTabBar.js +2 -2
  8. package/lib/components/Layout/components/BottomTabBar.js.map +1 -1
  9. package/lib/components/Layout/components/Sample.js.map +1 -1
  10. package/lib/components/Layout/components/SideBar.js +5 -6
  11. package/lib/components/Layout/components/SideBar.js.map +1 -1
  12. package/lib/components/NavigationComponent.js +1 -1
  13. package/lib/components/NavigationComponent.js.map +1 -1
  14. package/lib/components/ToastAlert.d.ts +1 -1
  15. package/lib/components/ToastAlert.js +2 -2
  16. package/lib/components/ToastAlert.js.map +1 -1
  17. package/lib/components/UnAuthenticatedComponent.js +1 -1
  18. package/lib/components/UnAuthenticatedComponent.js.map +1 -1
  19. package/lib/components/WithPermission.d.ts +1 -1
  20. package/lib/containers/layout/BasicLayout.js +3 -3
  21. package/lib/containers/layout/BasicLayout.js.map +1 -1
  22. package/lib/containers/layout/DrawerBottomNavigationConfig.d.ts +21 -21
  23. package/lib/containers/layout/DrawerConfig.d.ts +14 -14
  24. package/lib/containers/layout/ProLayout.js.map +1 -1
  25. package/lib/index.js.map +1 -1
  26. package/lib/tailwind-base-config.d.ts +2 -1
  27. package/lib/utils/generateMobileNavigations.js +36 -30
  28. package/lib/utils/generateMobileNavigations.js.map +1 -1
  29. package/package.json +4 -4
  30. package/src/components/ErrorBounday.tsx +19 -19
  31. package/src/components/Fallback.tsx +54 -58
  32. package/src/components/Layout/components/BasicLayout.tsx +2 -6
  33. package/src/components/Layout/components/BottomTabBar.tsx +98 -99
  34. package/src/components/Layout/components/Sample.tsx +1 -1
  35. package/src/components/Layout/components/SideBar.tsx +10 -14
  36. package/src/components/NavigationComponent.tsx +3 -1
  37. package/src/components/ToastAlert.tsx +11 -11
  38. package/src/components/UnAuthenticatedComponent.tsx +16 -26
  39. package/src/containers/layout/BasicLayout.tsx +3 -3
  40. package/src/containers/layout/ProLayout.tsx +1 -1
  41. package/src/index.ts +1 -2
  42. package/src/utils/generateMobileNavigations.ts +43 -34
@@ -1,31 +1,31 @@
1
1
  import React, { ReactElement } from 'react';
2
2
  import { FallbackComponent } from './Fallback';
3
3
  import { logger } from '@cdm-logger/client';
4
- import { useDispatch } from 'react-redux'
4
+ import { useDispatch } from 'react-redux';
5
5
 
6
- type IErrorBoundryState = { hasError: boolean, error: Error | null };
6
+ type IErrorBoundryState = { hasError: boolean; error: Error | null };
7
7
  type IErrorBoundryProps = {
8
- children: ReactElement,
8
+ children: ReactElement;
9
9
  };
10
10
 
11
11
  export class ErrorBoundary extends React.Component<IErrorBoundryProps, IErrorBoundryState> {
12
- constructor(props: IErrorBoundryProps) {
13
- super(props);
14
- this.state = { hasError: false, error: null };
15
- }
12
+ constructor(props: IErrorBoundryProps) {
13
+ super(props);
14
+ this.state = { hasError: false, error: null };
15
+ }
16
16
 
17
- static getDerivedStateFromError(error: Error) {
18
- return { hasError: true, error };
19
- }
17
+ static getDerivedStateFromError(error: Error) {
18
+ return { hasError: true, error };
19
+ }
20
20
 
21
- componentDidCatch(error: Error) {
22
- logger.debug(error)
23
- }
21
+ componentDidCatch(error: Error) {
22
+ logger.debug(error);
23
+ }
24
24
 
25
- render() {
26
- if (this.state.hasError) {
27
- return <FallbackComponent error={this.state.error as Error} />;
25
+ render() {
26
+ if (this.state.hasError) {
27
+ return <FallbackComponent error={this.state.error as Error} />;
28
+ }
29
+ return this.props.children;
28
30
  }
29
- return this.props.children;
30
- }
31
- }
31
+ }
@@ -1,65 +1,61 @@
1
1
  import { navigationRef } from '@common-stack/client-react';
2
- import { Button,ButtonText } from '@gluestack-ui/themed'
3
- import * as React from 'react'
4
- import { StyleSheet } from 'react-native'
2
+ import { Button, ButtonText } from '@gluestack-ui/themed';
3
+ import * as React from 'react';
4
+ import { StyleSheet } from 'react-native';
5
5
 
6
- import {
7
- SafeAreaView,
8
- Text,
9
- View,
10
- } from 'react-native'
11
- import { useDispatch } from 'react-redux'
6
+ import { SafeAreaView, Text, View } from 'react-native';
7
+ import { useDispatch } from 'react-redux';
12
8
 
13
- type Props = { error: Error }
9
+ type Props = { error: Error };
14
10
 
15
11
  export const FallbackComponent = (props: Props) => {
16
- const dispatch = useDispatch()
17
- return (
18
- <SafeAreaView style={styles.container}>
19
- <View style={styles.content}>
20
- <Text style={styles.title}>Oops!</Text>
21
- <Text style={styles.subtitle}>{'There\'s an error'}</Text>
22
- <Text style={styles.error}>{props?.error?.message}</Text>
23
- <Button style={styles.button} onPress={() => navigationRef.navigate("MainStack.Layout.Home")}>
24
- <ButtonText style={styles.buttonText}>Go to homepage</ButtonText>
25
- </Button>
26
- </View>
27
- </SafeAreaView>
28
- )
29
- }
12
+ const dispatch = useDispatch();
13
+ return (
14
+ <SafeAreaView style={styles.container}>
15
+ <View style={styles.content}>
16
+ <Text style={styles.title}>Oops!</Text>
17
+ <Text style={styles.subtitle}>{"There's an error"}</Text>
18
+ <Text style={styles.error}>{props?.error?.message}</Text>
19
+ <Button style={styles.button} onPress={() => navigationRef.navigate('MainStack.Layout.Home')}>
20
+ <ButtonText style={styles.buttonText}>Go to homepage</ButtonText>
21
+ </Button>
22
+ </View>
23
+ </SafeAreaView>
24
+ );
25
+ };
30
26
 
31
27
  const styles: any = StyleSheet.create({
32
- container: {
33
- backgroundColor: '#fafafa',
34
- flex: 1,
35
- justifyContent: 'center'
36
- },
37
- content: {
38
- marginHorizontal: 16
39
- },
40
- title: {
41
- fontSize: 48,
42
- fontWeight: '300',
43
- paddingBottom: 16,
44
- color: '#000'
45
- },
46
- subtitle: {
47
- fontSize: 32,
48
- fontWeight: '800',
49
- color: '#000'
50
- },
51
- error: {
52
- paddingVertical: 16
53
- },
54
- button: {
55
- backgroundColor: '#2196f3',
56
- borderRadius: 50,
57
- padding: 25,
58
- height: 40
59
- },
60
- buttonText: {
61
- color: '#fff',
62
- fontWeight: '600',
63
- textAlign: 'center'
64
- }
65
- })
28
+ container: {
29
+ backgroundColor: '#fafafa',
30
+ flex: 1,
31
+ justifyContent: 'center',
32
+ },
33
+ content: {
34
+ marginHorizontal: 16,
35
+ },
36
+ title: {
37
+ fontSize: 48,
38
+ fontWeight: '300',
39
+ paddingBottom: 16,
40
+ color: '#000',
41
+ },
42
+ subtitle: {
43
+ fontSize: 32,
44
+ fontWeight: '800',
45
+ color: '#000',
46
+ },
47
+ error: {
48
+ paddingVertical: 16,
49
+ },
50
+ button: {
51
+ backgroundColor: '#2196f3',
52
+ borderRadius: 50,
53
+ padding: 25,
54
+ height: 40,
55
+ },
56
+ buttonText: {
57
+ color: '#fff',
58
+ fontWeight: '600',
59
+ textAlign: 'center',
60
+ },
61
+ });
@@ -1,6 +1,6 @@
1
1
  import React, { useRef, useState } from 'react';
2
2
  import { Route } from 'react-router-native';
3
- import { Box, StatusBar, Divider, SafeAreaView } from '@gluestack-ui/themed';
3
+ import { Box, StatusBar, Divider, SafeAreaView } from '@gluestack-ui/themed';
4
4
  import { Header } from './Header';
5
5
  import { Drawer } from './Drawer';
6
6
  import { RouterTypes } from '../typings';
@@ -16,7 +16,7 @@ type MergerSettingsType<T> = Partial<T> & {
16
16
 
17
17
  const BasicLayout: React.FC<any & { routeParams: any }> = (props) => {
18
18
  const { route, rightContentRender, onSettingChange, settings, routeParams, showSettings, currentRoute } = props;
19
- const drawerRef = useRef();
19
+ const drawerRef = useRef<any | null>(null);
20
20
  const [settingToggle, setSettingToggle] = useState(false);
21
21
 
22
22
  return (
@@ -63,8 +63,4 @@ const BasicLayout: React.FC<any & { routeParams: any }> = (props) => {
63
63
  );
64
64
  };
65
65
 
66
- BasicLayout.defaultProps = {
67
- ...defaultSettings,
68
- };
69
-
70
66
  export default BasicLayout;
@@ -1,11 +1,11 @@
1
1
  import React from 'react';
2
- import {Box,Pressable,Center,Text, SafeAreaView} from '@gluestack-ui/themed';
2
+ import { Box, Pressable, Center, Text, SafeAreaView } from '@gluestack-ui/themed';
3
3
  import { useSelector } from 'react-redux';
4
4
  import { useRoute } from '@react-navigation/native';
5
5
  import { navigationRef } from '@common-stack/client-react';
6
6
 
7
- export const BottomTabBar = ({ state, descriptors, navigation,...props }: any) => {
8
- const tabBarProps = props?.customTabBarProps??{};
7
+ export const BottomTabBar = ({ state, descriptors, navigation, ...props }: any) => {
8
+ const tabBarProps = props?.customTabBarProps ?? {};
9
9
  const settings = useSelector<any>((state) => state.settings) as any;
10
10
  //const currentRoute: any = useRoute();
11
11
  const currentRoute: any = navigationRef.isReady() ? navigationRef?.getCurrentRoute() : null;
@@ -23,118 +23,117 @@ export const BottomTabBar = ({ state, descriptors, navigation,...props }: any) =
23
23
  (b.options.priority ? b.options.priority : b.options.title),
24
24
  );
25
25
 
26
- const onPress = React.useCallback((route, navigation, isFocused) => {
27
- if (route?.route) {
28
- const event = navigation.emit({
29
- type: 'tabPress',
30
- target: route.route.key,
31
- canPreventDefault: true,
32
- });
33
-
34
- if (!isFocused && !event.defaultPrevented) {
35
- // The `merge: true` option makes sure that the params inside the tab screen are preserved
36
- navigation.navigate({
37
- name: route.route.name,
38
- merge: true,
39
- orgName: currentRoute?.params?.orgName || platformState?.orgName,
40
- });
41
- }
42
- }
43
- }, []);
26
+ const onPress = React.useCallback((route, navigation, isFocused) => {
27
+ if (route?.route) {
28
+ const event = navigation.emit({
29
+ type: 'tabPress',
30
+ target: route.route.key,
31
+ canPreventDefault: true,
32
+ });
44
33
 
45
- const onLongPress = React.useCallback((route, navigation, isFocused) => {
46
- if (route?.route) {
47
- navigation.emit({
48
- type: 'tabLongPress',
49
- target: route.route.key,
34
+ if (!isFocused && !event.defaultPrevented) {
35
+ // The `merge: true` option makes sure that the params inside the tab screen are preserved
36
+ navigation.navigate({
37
+ name: route.route.name,
38
+ merge: true,
39
+ orgName: currentRoute?.params?.orgName || platformState?.orgName,
50
40
  });
51
41
  }
52
- }, []);
42
+ }
43
+ }, []);
53
44
 
45
+ const onLongPress = React.useCallback((route, navigation, isFocused) => {
46
+ if (route?.route) {
47
+ navigation.emit({
48
+ type: 'tabLongPress',
49
+ target: route.route.key,
50
+ });
51
+ }
52
+ }, []);
54
53
 
55
54
  return (
56
55
  <SafeAreaView>
57
- <Box
58
- flexDirection="row"
59
- width="100%"
60
- alignSelf="center"
61
- bg={'$white'}
62
- borderTopWidth={"$1"}
63
- borderTopColor={'#d3d3d3'}
64
- py={"$4"}
65
- {...tabBarProps}
66
- >
67
- {appRoutes.map((route: any, index: any) => {
68
- const options = route.options;
69
- const label =
70
- options.tabBarLabel !== undefined
71
- ? options.tabBarLabel
72
- : options.title !== undefined
56
+ <Box
57
+ flexDirection="row"
58
+ width="100%"
59
+ alignSelf="center"
60
+ bg={'$white'}
61
+ borderTopWidth={'$1'}
62
+ borderTopColor={'#d3d3d3'}
63
+ py={'$4'}
64
+ {...tabBarProps}
65
+ >
66
+ {appRoutes.map((route: any, index: any) => {
67
+ const options = route.options;
68
+ const label =
69
+ options.tabBarLabel !== undefined
70
+ ? options.tabBarLabel
71
+ : options.title !== undefined
73
72
  ? options.title
74
73
  : route.route.name;
75
74
 
76
- const isFocused = state.index === route.index;
75
+ const isFocused = state.index === route.index;
77
76
 
78
- // const onPress = () => {
79
- // const event = navigation.emit({
80
- // type: 'tabPress',
81
- // target: route.route.key,
82
- // canPreventDefault: true,
83
- // });
77
+ // const onPress = () => {
78
+ // const event = navigation.emit({
79
+ // type: 'tabPress',
80
+ // target: route.route.key,
81
+ // canPreventDefault: true,
82
+ // });
84
83
 
85
- // if (!isFocused && !event.defaultPrevented) {
86
- // // The `merge: true` option makes sure that the params inside the tab screen are preserved
87
- // navigation.navigate({
88
- // name: route.route.name,
89
- // merge: true,
90
- // orgName: currentRoute?.params?.orgName || platformState?.orgName,
91
- // });
92
- // }
93
- // };
84
+ // if (!isFocused && !event.defaultPrevented) {
85
+ // // The `merge: true` option makes sure that the params inside the tab screen are preserved
86
+ // navigation.navigate({
87
+ // name: route.route.name,
88
+ // merge: true,
89
+ // orgName: currentRoute?.params?.orgName || platformState?.orgName,
90
+ // });
91
+ // }
92
+ // };
94
93
 
95
- // const onLongPress = () => {
96
- // navigation.emit({
97
- // type: 'tabLongPress',
98
- // target: route.route.key,
99
- // });
100
- // };
94
+ // const onLongPress = () => {
95
+ // navigation.emit({
96
+ // type: 'tabLongPress',
97
+ // target: route.route.key,
98
+ // });
99
+ // };
101
100
 
102
- return (
103
- <Pressable
104
- key={index}
105
- opacity={isFocused ? "$100" : "$50"}
106
- // pb="$8"
107
- // pt={"$3"}
108
- flex={1}
109
- onPress={()=>onPress(route,navigation,isFocused)}
110
- onLongPress={()=>onLongPress(route,navigation,isFocused)}
111
- testID={options.tabBarTestID}
112
- accessibilityState={isFocused ? { selected: true } : {}}
113
- accessibilityLabel={options.tabBarAccessibilityLabel}
114
- >
115
- <Center>
116
- {options?.tabBarIcon
117
- ? options.tabBarIcon({
118
- color: isFocused
119
- ? options.tabBarActiveTintColor
120
- : options.tabBarInactiveTintColor,
121
- size: 24,
122
- })
123
- : null}
101
+ return (
102
+ <Pressable
103
+ key={index}
104
+ opacity={isFocused ? '$100' : '$50'}
105
+ // pb="$8"
106
+ // pt={"$3"}
107
+ flex={1}
108
+ onPress={() => onPress(route, navigation, isFocused)}
109
+ onLongPress={() => onLongPress(route, navigation, isFocused)}
110
+ testID={options.tabBarTestID}
111
+ accessibilityState={isFocused ? { selected: true } : {}}
112
+ accessibilityLabel={options.tabBarAccessibilityLabel}
113
+ >
114
+ <Center>
115
+ {options?.tabBarIcon
116
+ ? options.tabBarIcon({
117
+ color: isFocused
118
+ ? options.tabBarActiveTintColor
119
+ : options.tabBarInactiveTintColor,
120
+ size: 24,
121
+ })
122
+ : null}
124
123
 
125
- <Text
126
- color={isFocused ? options.tabBarActiveTintColor : options.tabBarInactiveTintColor}
127
- style={{fontSize:12}}
128
- >
129
- {label}
130
- </Text>
131
- </Center>
132
- </Pressable>
133
- );
134
- })}
135
- </Box>
124
+ <Text
125
+ color={isFocused ? options.tabBarActiveTintColor : options.tabBarInactiveTintColor}
126
+ style={{ fontSize: 12 }}
127
+ >
128
+ {label}
129
+ </Text>
130
+ </Center>
131
+ </Pressable>
132
+ );
133
+ })}
134
+ </Box>
136
135
  </SafeAreaView>
137
136
  );
138
137
  };
139
138
 
140
- export default BottomTabBar;
139
+ export default BottomTabBar;
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { Box, Text } from '@gluestack-ui/themed';
2
+ import { Box, Text } from '@gluestack-ui/themed';
3
3
 
4
4
  export const Sample = () => {
5
5
  return (
@@ -2,8 +2,7 @@ import React, { useState } from 'react';
2
2
  import { HStack, Icon, Text, Box, StatusBar, Divider, Button, FlatList, SafeAreaView } from '@gluestack-ui/themed';
3
3
  import { StyleSheet, TouchableOpacity } from 'react-native';
4
4
  import { Ionicons } from '@expo/vector-icons';
5
- import { Link } from 'react-router-native';
6
- import { useHistory } from 'react-router-native';
5
+ import { Link, useNavigate } from 'react-router-native';
7
6
  import { config } from '../../../config';
8
7
  import { MenuDataItem } from '../typings';
9
8
  import { COLOR } from '../../../utils/ThemeColor';
@@ -18,7 +17,7 @@ export interface SideBarProps {
18
17
  const SideBar: React.FC<SideBarProps> = ({ menuData, matchUrl, navTheme, drawerRef }) => {
19
18
  const [icon, setIcon] = useState('chevron-down-outline');
20
19
  const [isToggle, setToggle] = useState(false);
21
- const history = useHistory();
20
+ const navigate = useNavigate();
22
21
 
23
22
  const toggle = () => {
24
23
  if (isToggle) {
@@ -32,8 +31,8 @@ const SideBar: React.FC<SideBarProps> = ({ menuData, matchUrl, navTheme, drawerR
32
31
 
33
32
  const isMenuExist = menuData.length > 0;
34
33
 
35
- const openMenuItem = (menu) => {
36
- history.push({ pathname: menu.path, state: menu.name });
34
+ const openMenuItem = (menu: any) => {
35
+ navigate(menu.path, { state: menu.name });
37
36
  drawerRef.current.closeDrawer();
38
37
  };
39
38
 
@@ -42,19 +41,16 @@ const SideBar: React.FC<SideBarProps> = ({ menuData, matchUrl, navTheme, drawerR
42
41
  {!!isMenuExist && (
43
42
  <FlatList
44
43
  data={menuData}
45
- renderItem={({ item }:any) => {
44
+ renderItem={({ item }: any) => {
46
45
  const keys = item?.key.split('.');
47
- const arrowIcon:any = icon || 'chevron-down-outline';
46
+ const arrowIcon: any = icon || 'chevron-down-outline';
48
47
  return item?.routes ? (
49
- <Box p={"$3"}>
48
+ <Box p={'$3'}>
50
49
  <TouchableOpacity onPress={() => toggle()}>
51
50
  <HStack>
52
- <Ionicons
53
- color={isToggle ? '#fff' : '#a1a1a1'}
54
- name="document-outline"
55
- />
51
+ <Ionicons color={isToggle ? '#fff' : '#a1a1a1'} name="document-outline" />
56
52
  <Text style={{ color: isToggle ? '#fff' : '#a1a1a1' }}>{item.name}</Text>
57
- <Ionicons name={arrowIcon} />
53
+ <Ionicons name={arrowIcon} />
58
54
  </HStack>
59
55
  </TouchableOpacity>
60
56
  {isToggle
@@ -69,7 +65,7 @@ const SideBar: React.FC<SideBarProps> = ({ menuData, matchUrl, navTheme, drawerR
69
65
  </Box>
70
66
  ) : (
71
67
  keys[0] != 'Main' && keys[0] == 'sidebar' && (
72
- <Box key={item.key} p={"$3"}>
68
+ <Box key={item.key} p={'$3'}>
73
69
  <TouchableOpacity style={{ marginBottom: 10 }} onPress={() => openMenuItem(item)}>
74
70
  <HStack>
75
71
  <Ionicons
@@ -102,7 +102,9 @@ export const NavigationContainerComponent = ({
102
102
  independent,
103
103
  linking,
104
104
  }: INavigationContainerComponentProps): ReactElement => {
105
- const routeNameRef = useRef() as MutableRefObject<INavigationContainerRef | undefined>;
105
+ const routeNameRef = useRef<INavigationContainerRef | undefined>(undefined) as MutableRefObject<
106
+ INavigationContainerRef | undefined
107
+ >;
106
108
  const dispatch = useDispatch();
107
109
  const platformState = useSelector((state) => (state as any).platform);
108
110
  const { setLocationChange } = useLocationChange();
@@ -1,14 +1,6 @@
1
1
  import React from 'react';
2
2
 
3
- import {
4
- Toast,
5
- VStack,
6
- ToastTitle,
7
- ToastDescription,
8
- Pressable,
9
- Icon,
10
- CloseIcon,
11
- } from '@gluestack-ui/themed';
3
+ import { Toast, VStack, ToastTitle, ToastDescription, Pressable, Icon, CloseIcon } from '@gluestack-ui/themed';
12
4
 
13
5
  interface IToast {
14
6
  id: string;
@@ -17,7 +9,7 @@ interface IToast {
17
9
  description?: string;
18
10
  isClosable?: boolean;
19
11
  toast?: any;
20
- variant?:any
12
+ variant?: any;
21
13
  }
22
14
 
23
15
  // variants:
@@ -25,7 +17,15 @@ interface IToast {
25
17
  // solid,
26
18
  // outline
27
19
 
28
- export const ToastAlert = ({ id, status = 'info', title='', description = '',variant='solid', isClosable, toast=null }: IToast) => {
20
+ export const ToastAlert = ({
21
+ id,
22
+ status = 'info',
23
+ title = '',
24
+ description = '',
25
+ variant = 'solid',
26
+ isClosable,
27
+ toast = null,
28
+ }: IToast) => {
29
29
  const toastId = 'toast-' + id;
30
30
  const actionType = status || 'info';
31
31
  return (
@@ -1,38 +1,28 @@
1
1
  import React from 'react';
2
- import {
3
- Box,
4
- Button,
5
- Heading,
6
- Text,
7
- HStack,
8
- Pressable,
9
- Divider,
10
- ButtonText,
11
- SafeAreaView,
12
- } from '@gluestack-ui/themed';
2
+ import { Box, Button, Heading, Text, HStack, Pressable, Divider, ButtonText, SafeAreaView } from '@gluestack-ui/themed';
13
3
  import { useNavigation } from '@react-navigation/native';
14
4
  import { Ionicons } from '@expo/vector-icons';
15
5
  import { Linking } from 'react-native';
16
6
 
17
- const UnAuthenticatedComponent = () => {
7
+ const UnAuthenticatedComponent = () => {
18
8
  const navigation = useNavigation<any>();
19
9
  return (
20
10
  <SafeAreaView flex={1}>
21
- <Box flex={1} borderTopWidth={'$1'} borderTopColor={'$trueGray200'}>
22
- {/* <Box h={'$1'} bg={Colors.primaryBgColor} /> */}
23
- <Box flex={1} p={'$6'} bg="$white" justifyContent={'center'}>
24
- <Heading mt={'$2'}>Login</Heading>
25
- <Text fontSize="$md" mt={'$2'}>
26
- Log in to continue.
27
- </Text>
28
- <Button bg={'$blue500'} size="lg" my={'$3'} onPress={() => navigation.navigate('MainStack.Login')}>
29
- <ButtonText color="$white">Login</ButtonText>
30
- </Button>
31
- <Divider my={'$3'} />
11
+ <Box flex={1} borderTopWidth={'$1'} borderTopColor={'$trueGray200'}>
12
+ {/* <Box h={'$1'} bg={Colors.primaryBgColor} /> */}
13
+ <Box flex={1} p={'$6'} bg="$white" justifyContent={'center'}>
14
+ <Heading mt={'$2'}>Login</Heading>
15
+ <Text fontSize="$md" mt={'$2'}>
16
+ Log in to continue.
17
+ </Text>
18
+ <Button bg={'$blue500'} size="lg" my={'$3'} onPress={() => navigation.navigate('MainStack.Login')}>
19
+ <ButtonText color="$white">Login</ButtonText>
20
+ </Button>
21
+ <Divider my={'$3'} />
22
+ </Box>
32
23
  </Box>
33
- </Box>
34
- </SafeAreaView>
24
+ </SafeAreaView>
35
25
  );
36
26
  };
37
27
 
38
- export default UnAuthenticatedComponent;
28
+ export default UnAuthenticatedComponent;
@@ -2,7 +2,7 @@ import * as React from 'react';
2
2
  import { connect } from 'react-redux';
3
3
  import { Ionicons } from '@expo/vector-icons';
4
4
  import { BasicLayout, Settings } from '../../components';
5
- import { useHistory } from 'react-router-native';
5
+ import { useNavigate } from 'react-router-native';
6
6
  import { useSelector } from 'react-redux';
7
7
  import { CHANGE_SETTINGS_ACTION } from '@admin-layout/client';
8
8
 
@@ -13,10 +13,10 @@ export interface ReduxState {
13
13
  const Layout: React.FC<any & ReduxState & { routeParams: any }> = (props) => {
14
14
  const user = useSelector((state: any) => state?.user);
15
15
  const { settings } = props;
16
- const history = useHistory();
16
+ const navigate = useNavigate();
17
17
 
18
18
  const logout = () => {
19
- history.push('/logout');
19
+ navigate('/logout');
20
20
  };
21
21
  return (
22
22
  <BasicLayout
@@ -11,7 +11,7 @@ const ProLayout: React.FC<any> = (props) => {
11
11
  const [appRoutes, setAppRoutes] = React.useState<any>([]);
12
12
  const { pathKey, appLayout } = useLayoutSetting(props);
13
13
  AppLayout = appLayout;
14
- const {appFeatures} = routeConfigKeyReplace(pathKey, props?.features,appLayout);
14
+ const { appFeatures } = routeConfigKeyReplace(pathKey, props?.features, appLayout);
15
15
  AppFeatures = appFeatures;
16
16
 
17
17
  React.useEffect(() => {