Skip to content

Commit

Permalink
Managing App-wide State with Context API, Redux Toolkit
Browse files Browse the repository at this point in the history
  • Loading branch information
Monika171 committed Jan 11, 2023
1 parent d4aa9c1 commit 14bd5cc
Show file tree
Hide file tree
Showing 12 changed files with 6,052 additions and 5,543 deletions.
10 changes: 7 additions & 3 deletions App.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,14 @@ import { NavigationContainer } from '@react-navigation/native';
import { createNativeStackNavigator } from '@react-navigation/native-stack';
import { createDrawerNavigator } from '@react-navigation/drawer';
import {Ionicons} from '@expo/vector-icons';
import {Provider} from 'react-redux';

import CategoriesScreen from './screens/CategoriesScreen';
import MealsOverviewScreen from './screens/MealsOverviewScreen';
import MealDetailScreen from './screens/MealDetailScreen';
import FavoritesScreen from './screens/FavoritesScreen';
import FavoritesContextProvider from './store/context/favorites-context';
// import FavoritesContextProvider from './store/context/favorites-context';
import { store } from './store/redux/store';

export default function App() {

Expand Down Expand Up @@ -48,7 +50,8 @@ export default function App() {
return (
<>
<StatusBar style='light'/>
<FavoritesContextProvider>
<Provider store={store}>
{/* <FavoritesContextProvider> */}
<NavigationContainer>
<Stack.Navigator screenOptions={{
headerStyle: { backgroundColor: '#351401'},
Expand Down Expand Up @@ -83,7 +86,8 @@ export default function App() {
/>
</Stack.Navigator>
</NavigationContainer>
</FavoritesContextProvider>
{/* </FavoritesContextProvider> */}
</Provider>
</>
);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { View, Pressable, Text, Image, StyleSheet, Platform } from "react-native";
import { useNavigation } from "@react-navigation/native";
import MealDetails from "./MealDetails";
import MealDetails from "../MealDetails";


export default function MealItem({id, title, imageUrl, duration, complexity, affordability}) {
Expand Down
36 changes: 36 additions & 0 deletions components/MealsList/MealsList.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
import {View, FlatList, StyleSheet} from 'react-native';
import MealItem from './MealItem';

function MealsList({items}) {
function renderMealItem(itemData) {
const item = itemData.item;

const mealItemProps = {
id:item.id,
title: item.title,
imageUrl: item.imageUrl,
affordability: item.affordability,
complexity: item.complexity,
duration: item.duration,
};

return <MealItem {...mealItemProps}/>
}


return (
<View style={styles.container}>
<FlatList data={items} keyExtractor={(item) => item.id} renderItem={renderMealItem}/>
</View>
)
}

export default MealsList


const styles = StyleSheet.create({
container: {
flex: 1,
padding: 16
}
});
Loading

0 comments on commit 14bd5cc

Please sign in to comment.