Files
address-verification-app/App.tsx
2022-12-06 18:22:09 +05:30

73 lines
2.5 KiB
TypeScript

/**
* Sample React Native App
* https://github.com/facebook/react-native
*
* Generated with the TypeScript template
* https://github.com/react-native-community/react-native-template-typescript
*
* @format
*/
import React from 'react';
import {SafeAreaView, Text, View} from 'react-native';
import data from './src/data/templateData.json';
import userData from './src/data/userData.json';
import RenderingEngine from './src/components/formRenderingEngine';
import {Provider} from 'react-redux';
import store, {persistor} from './src/store/store';
import {PersistGate} from 'redux-persist/integration/react';
import {NavigationContainer} from '@react-navigation/native';
import {createNativeStackNavigator} from '@react-navigation/native-stack';
import Widget from './src/components/form';
import {navigationRef} from './src/components/utlis/navigationUtlis';
import {GenericStyles} from './RN-UI-LIB/src/styles';
import FullScreenLoader from './RN-UI-LIB/src/components/FullScreenLoader';
function HomeScreen() {
return (
<View style={{flex: 1, alignItems: 'center', justifyContent: 'center'}}>
<SafeAreaView>
<RenderingEngine data={data} userData={userData} />
</SafeAreaView>
</View>
);
}
const Stack = createNativeStackNavigator();
const App = () => {
// const [hasBeenManuplated, setHasBeenManuplated] = useState<boolean>(false);
return (
<Provider store={store}>
<PersistGate
loading={<FullScreenLoader loading />}
persistor={persistor}>
<NavigationContainer ref={navigationRef}>
<Stack.Navigator>
<Stack.Screen
name="Home"
component={HomeScreen}
options={{
header: () => null,
}}
/>
{Object.keys(data.widgets).map(key => (
<Stack.Screen
key={key}
name={key}
component={Widget}
options={{
header: () => null,
}}
/>
))}
</Stack.Navigator>
</NavigationContainer>
</PersistGate>
</Provider>
);
};
export default App;