Parcourir la source

working json

the code in this commit works, but the website needs to be online

the json the website sends doesnt work with the current code
Orlando04 il y a 2 ans
Parent
révision
924947454b
3 fichiers modifiés avec 1898 ajouts et 69 suppressions
  1. 37
    63
      MocionesIUPI/App.js
  2. 1852
    4
      MocionesIUPI/package-lock.json
  3. 9
    2
      MocionesIUPI/package.json

+ 37
- 63
MocionesIUPI/App.js Voir le fichier

@@ -1,66 +1,40 @@
1
-import React from 'react';
2
-import { StatusBar } from 'expo-status-bar';
3
-import { render } from 'react-dom';
4
-import { StyleSheet, Text, View, ActivityIndicator } from 'react-native';
5
-
6
-export default class App extends React.Component {
7
-  
8
-  contructor(props) {
9
-    super(props);
10
-
11
-    this.state = {
12
-      isLoading: true,
13
-      dataSource: null,
14
-    }
15
-  }
16
-  
17
-  componentDidMount() {
18
-
19
-    return fetch('https://facebook.github.io/react-native/movies.json')
20
-      .then ( (response) => response.json() )
21
-      .then ( (responseJson) => {
22
-
23
-        this.setState({
24
-          isLoading: false,
25
-          dataSource: responseJson.movies,
26
-        })
27
-
28
-      })
29
-
30
-      .catch((error) => {
31
-        console.log(error)
32
-
33
-      });
34
-  }
35
-
36
-  render() {
37
-
38
-    if (this.state.isLoading){
39
-
40
-      return(
41
-        <View style={style.container}>
42
-          <ActivityIndicator />
43
-        </View>
44
-      )
45
-    } 
46
-    
47
-    else {
48
-      
49
-      return (
50
-        <View style={styles.container}>
51
-          <Text>Open up App.js to start working on your app!</Text>
52
-          <StatusBar style="auto" />
53
-        </View>
54
-      );
1
+import React, { useEffect, useState } from 'react';
2
+import { ActivityIndicator, FlatList, Text, View } from 'react-native';
3
+
4
+export default App = () => {
5
+  const [isLoading, setLoading] = useState(true);
6
+  const [data, setData] = useState([]);
7
+
8
+  // this connects us to the API and fetches the json file with the mociones
9
+  const getMociones = async () => {
10
+     try {
11
+      const response = await fetch('http://127.0.0.1:5000/send?PIN=121071');
12
+      const json = await response.json();
13
+      setData(json.Description);
14
+    } catch (error) {
15
+      console.error(error);
16
+    } finally {
17
+      setLoading(false);
55 18
     }
56 19
   }
57
-}
58 20
 
59
-const styles = StyleSheet.create({
60
-  container: {
61
-    flex: 1,
62
-    backgroundColor: '#fff',
63
-    alignItems: 'center',
64
-    justifyContent: 'center',
65
-  },
66
-});
21
+  useEffect(() => {
22
+    getMociones();
23
+  }, []);
24
+
25
+  // here we want to display each mocion in a flatlist 
26
+  // it's supposed to be like buttons. Once clicked it would let you vote inside
27
+  return (
28
+    <View style={{ flex: 1, padding: 24 }}>
29
+      {isLoading ? <ActivityIndicator/> : (
30
+        <FlatList
31
+          data={data}
32
+          keyExtractor={({ id }, index) => id}
33
+          renderItem={({ item }) => (
34
+            <Text>{data}</Text>
35
+          )}
36
+        />
37
+      )}
38
+    </View>
39
+  );
40
+};

+ 1852
- 4
MocionesIUPI/package-lock.json
Fichier diff supprimé car celui-ci est trop grand
Voir le fichier


+ 9
- 2
MocionesIUPI/package.json Voir le fichier

@@ -9,13 +9,20 @@
9 9
     "web": "expo start --web"
10 10
   },
11 11
   "dependencies": {
12
+    "@apollo/client": "^3.7.2",
13
+    "@expo/webpack-config": "^0.17.2",
12 14
     "expo": "~47.0.6",
13 15
     "expo-status-bar": "~1.4.2",
16
+    "graphql": "^15.8.0",
17
+    "native-base": "^3.4.25",
14 18
     "react": "18.1.0",
19
+    "react-dom": "18.1.0",
15 20
     "react-native": "0.70.5",
16 21
     "react-native-web": "~0.18.9",
17
-    "react-dom": "18.1.0",
18
-    "@expo/webpack-config": "^0.17.2"
22
+    "styled-components": "^5.3.6",
23
+    "styled-system": "^5.1.5",
24
+    "react-native-svg": "13.4.0",
25
+    "react-native-safe-area-context": "4.4.1"
19 26
   },
20 27
   "devDependencies": {
21 28
     "@babel/core": "^7.12.9"