Skip to content

Commit f84d631

Browse files
authored
Merge pull request #4 from coolguyzone/redux
Create recipe cards and get available recipe cards to show up on reci…
2 parents 309d942 + 4f43b14 commit f84d631

File tree

3 files changed

+55
-4
lines changed

3 files changed

+55
-4
lines changed

Screens/RecipesScreen.js

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,32 @@
1-
import { Text } from "react-native";
1+
import { ScrollView, Text } from "react-native";
2+
import RecipeCard from "../components/recipe-components/RecipeCard";
3+
import { Constants } from "../util/constants";
4+
import { useSelector, useDispatch } from "react-redux";
5+
import { ingredientsArray } from "../util/slices/inventorySlice";
26

37
function RecipesScreen() {
4-
return <Text style={{ marginTop: 20 }}>Recipes Screen</Text>;
8+
const drinkList = Constants.drinkList;
9+
const ingredients = useSelector((state) => state.inventory.ingredientsArray);
10+
11+
return (
12+
<ScrollView>
13+
<Text style={{ marginVertical: 20 }}>Recipes Screen</Text>
14+
15+
{ingredients.map((ingredient) => (
16+
<Text>{ingredient}</Text>
17+
))}
18+
19+
{drinkList.map((drink) => {
20+
let drinkIngredients = drink.ingredients;
21+
for (let i = 0; i < drinkIngredients.length; i++) {
22+
if (ingredients.indexOf(drinkIngredients[i]) < 0) {
23+
return;
24+
}
25+
}
26+
return <RecipeCard>{drink.name}</RecipeCard>;
27+
})}
28+
</ScrollView>
29+
);
530
}
631

7-
export default RecipesScreen;
32+
export default RecipesScreen;
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import { View, Text, StyleSheet } from "react-native";
2+
3+
function RecipeCard({children}) {
4+
return <View style={styles.container}>
5+
<Text style={styles.label}>{children}</Text>
6+
</View>
7+
}
8+
9+
export default RecipeCard;
10+
11+
const styles = StyleSheet.create({
12+
container: {
13+
marginHorizontal: 12,
14+
marginVertical: 12,
15+
paddingVertical: 12,
16+
borderColor: 'black',
17+
borderWidth: 2,
18+
borderRadius: 5,
19+
alignItems: 'center',
20+
},
21+
label: {
22+
fontSize: 18,
23+
fontWeight: 'bold'
24+
}
25+
})
26+

util/slices/inventorySlice.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { createSlice } from "@reduxjs/toolkit";
33
export const inventorySlice = createSlice({
44
name: "inventory",
55
initialState: {
6-
ingredientsArray: ['water'],
6+
ingredientsArray: ['Water'],
77
},
88
reducers: {
99
addIngredient: (state, action) => {

0 commit comments

Comments
 (0)