Files
address-verification-app/App.tsx
2022-12-03 16:43:36 +05:30

62 lines
2.0 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';
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={<Text>Loading...</Text>}
persistor={persistor}>
<NavigationContainer ref={navigationRef}>
<Stack.Navigator>
<Stack.Screen name="Home" component={HomeScreen} />
{Object.keys(data.widgets).map(key => (
<Stack.Screen
key={key}
name={key}
component={Widget}
/>
))}
</Stack.Navigator>
</NavigationContainer>
</PersistGate>
</Provider>
);
};
export default App;