-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathApp.js
More file actions
75 lines (69 loc) · 1.94 KB
/
Copy pathApp.js
File metadata and controls
75 lines (69 loc) · 1.94 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
import React, { Component } from "react";
import { StyleSheet, Text, View } from "react-native";
import axios from "axios";
import { LineChart, Grid } from "react-native-svg-charts";
import { Divider, Button } from "react-native-elements";
class App extends Component {
state = {
memes: []
};
async componentDidMount() {
const { data } = await axios.get(
"https://dd0e6d62.ngrok.io/api/meme/month"
);
this.setState({ memes: data });
}
renderMemes = () => {
return this.state.memes.map(meme => {
return (
<View style={{ marginTop: 10, flexDirection: "column" }}>
<View
style={{
flexDirection: "row",
alignItems: "center",
justifyContent: "space-between",
width: 300
}}
>
<View>
<Text style={{ fontSize: 14, textAlign: "left" }}>
{meme.meme}
</Text>
</View>
<View style={{ alignItems: "flex-end", flexDirection: "row" }}>
<LineChart
style={{ height: 40, width: 60, marginRight: 10 }}
data={meme.formatted}
svg={{ stroke: "#52c41a" }}
></LineChart>
<Button
title={meme.value}
titleStyle={{ fontSize: 14, color: "white" }}
buttonStyle={{ backgroundColor: "#52c41a" }}
/>
</View>
</View>
<Divider style={{ backgroundColor: "grey", marginTop: 10 }} />
</View>
);
});
};
render() {
return (
<View style={styles.container}>
<Text style={{ fontSize: 40, fontWeight: "bold", marginBottom: 20 }}>
MemeTrends
</Text>
{this.renderMemes()}
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
alignItems: "center",
justifyContent: "center"
}
});
export default App;