-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathRecipeScreen.js
More file actions
106 lines (87 loc) · 2.92 KB
/
Copy pathRecipeScreen.js
File metadata and controls
106 lines (87 loc) · 2.92 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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
import React, {Component, useState} from 'react';
import { StyleSheet, Text, View, Button, Alert, TextInput, Image, FlatList, TouchableWithoutFeedback, Keyboard } from 'react-native';
import SettingScreen from './SettingScreen';
import { NavigationContainer } from '@react-navigation/native';
import { createStackNavigator } from '@react-navigation/stack';
// Keyboard piiloon
const DismissKeyboard = ({ children }) => (
<TouchableWithoutFeedback onPress={() => Keyboard.dismiss()}>
{ children }
</TouchableWithoutFeedback>
);
export default function RecipeScreen( {route, navigation}) {
const [results, setResults] = useState('');
const [recipes, setRecipes] = useState([]);
const getRecipes = () => {
// Ei toimi. Tulostaa "Tried to get frame for out of ranger index NaN".
const url = 'http://www.recipepuppy.com/api/?i='+results;
fetch(url)
.then((response) => response.json())
.then((responseJson) => {
setRecipes(responseJson);
})
.catch((error) => {
Alert.alert('Error' , error);
});
}
const listSeparator = () => {
return (
<View
style={{
height: 1,
width: "80%",
backgroundColor: "#CED0CE",
marginLeft: "10%"
}}
/>
);
};
return (
<DismissKeyboard>
<View style={styles.container}>
<FlatList
style={{marginLeft : "5%"}}
keyExtractor={item => item.id}
renderItem={({item}) =>
// tarvitaan kuvan listaus
<Text>{item.thumbnail}, {item.title}</Text>}
ItemSeparatorComponent={listSeparator}
data={recipes}
/>
<TextInput
style={{fontSize: 18, width: 200}}
value={results}
placeholder="search"
onChangeText={(results) => setResults(results)}
/>
<Button title="Find" onPress={getRecipes} />
</View>
</DismissKeyboard>
);
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#fff',
alignItems: 'center',
justifyContent: 'center',
},
});
const styles2 = StyleSheet.create({
container: {
flex: 1,
flexDirection: 'row',
backgroundColor: '#fff',
alignItems: 'center',
justifyContent: 'space-around',
},
});
const styles3 = StyleSheet.create({
container: {
flex: 2,
flexDirection: 'row',
backgroundColor: '#fff',
alignItems: 'center',
justifyContent: 'center',
},
});