No Description

App.js 2.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. // @flow
  2. import React, { Fragment } from 'react';
  3. import { SafeAreaView, StatusBar, View, Text, TouchableOpacity, StyleSheet } from 'react-native';
  4. import { createStackNavigator, createAppContainer } from 'react-navigation';
  5. // To add a screen, import it and add it in screens
  6. import FullScreen from './Full';
  7. import ViewshootScreen from './Viewshoot';
  8. import TransparencyScreen from './Transparency';
  9. import VideoScreen from './Video';
  10. import WebViewScreen from './WebView';
  11. import MapViewScreen from './MapView';
  12. import GLReactV2Screen from './GLReactV2';
  13. import SVGUriScreen from './SVGUri';
  14. import ModalScreen from './Modal';
  15. const screens = {
  16. Full: {
  17. screen: FullScreen,
  18. },
  19. Video: {
  20. screen: VideoScreen,
  21. },
  22. WebView: {
  23. screen: WebViewScreen,
  24. },
  25. MapView: {
  26. screen: MapViewScreen,
  27. },
  28. GLReactV2: {
  29. screen: GLReactV2Screen,
  30. },
  31. SVGUri: {
  32. screen: SVGUriScreen,
  33. },
  34. Modal: {
  35. screen: ModalScreen,
  36. },
  37. Viewshoot: {
  38. screen: ViewshootScreen,
  39. },
  40. Transparency: {
  41. screen: TransparencyScreen,
  42. },
  43. };
  44. ///////////////////////////////////////////////////
  45. class HomeScreen extends React.Component {
  46. static navigationOptions = {
  47. title: 'Home',
  48. };
  49. render() {
  50. const { navigation } = this.props;
  51. return (
  52. <Fragment>
  53. <StatusBar barStyle="dark-content" />
  54. <SafeAreaView>
  55. {Object.keys(screens).map(key => (
  56. <TouchableOpacity key={key} onPress={() => navigation.navigate(key)}>
  57. <View style={styles.entry}>
  58. <Text style={styles.entryText}>
  59. {(screens[key].screen.navigationOptions &&
  60. screens[key].screen.navigationOptions.title) ||
  61. key}
  62. </Text>
  63. </View>
  64. </TouchableOpacity>
  65. ))}
  66. </SafeAreaView>
  67. </Fragment>
  68. );
  69. }
  70. }
  71. const styles = StyleSheet.create({
  72. entry: {
  73. paddingVertical: 10,
  74. paddingHorizontal: 20,
  75. },
  76. entryText: {
  77. fontSize: 22,
  78. color: '#36f',
  79. },
  80. });
  81. const AppNavigator = createStackNavigator({
  82. Home: {
  83. screen: HomeScreen,
  84. },
  85. ...screens,
  86. });
  87. export default createAppContainer(AppNavigator);