diff --git a/LeftOvers/App.tsx b/LeftOvers/App.tsx index 0a3b7a1..3e99a61 100644 --- a/LeftOvers/App.tsx +++ b/LeftOvers/App.tsx @@ -1,8 +1,6 @@ import React from 'react'; -import { StyleSheet, Image } from 'react-native'; import { NavigationContainer } from '@react-navigation/native'; import { createBottomTabNavigator } from '@react-navigation/bottom-tabs'; -import { BlurView } from 'expo-blur'; import HomeStackScreen from './navigation/HomeStackScreen'; import ProfilesStackScreen from './navigation/ProfileStackScreen'; @@ -10,10 +8,6 @@ import CookingStackScreen from './navigation/CookingStackScreen'; import BottomBar from './navigation/BottomBar'; import { ThemeProvider } from './theme/ThemeContext'; -import HomeIcon from './assets/images/home.png'; -import ProfileIcon from './assets/images/person_icon.png'; -import CookingIcon from './assets/images/cook.png'; - const Tab = createBottomTabNavigator(); diff --git a/LeftOvers/components/FoodElementText.tsx b/LeftOvers/components/FoodElementText.tsx index 1fe03c7..e1d3ea3 100644 --- a/LeftOvers/components/FoodElementText.tsx +++ b/LeftOvers/components/FoodElementText.tsx @@ -1,13 +1,10 @@ import React from 'react'; import {StyleSheet,Pressable, Text, View, Image} from 'react-native'; import Separator from '../components/Separator'; -import plus from '../assets/images/plus.png'; -import moins from '../assets/images/minus.png'; interface foodElementImageProps { - source : string title : string } @@ -18,7 +15,6 @@ export default function FoodElementText(props : any) { {props.title} - @@ -29,33 +25,26 @@ const styles = StyleSheet.create({ button: { alignItems: 'center', justifyContent: 'center', - width : 270, - height: 60, + width: "80%", borderRadius: 5, - elevation: 3, backgroundColor: '#E3DEC9', }, text: { - fontSize: 15, - lineHeight: 21, + fontSize: 10, fontWeight: 'bold', - letterSpacing: 0.25, - padding : 7, + padding : "2%", color: 'black', }, view: { alignItems: 'flex-start', justifyContent: 'center', - marginRight: 5 // Centre le contenu horizontalement }, container: { - width :260, - height: 50, + width: "100%", borderRadius: 5, - elevation: 3, - borderWidth: 2, - borderColor: 'black', - flexDirection: 'row', - justifyContent: 'space-between', + borderWidth: 1, + borderColor: '#3F3C42', + flexDirection: 'column', + justifyContent: 'center', }, }); diff --git a/LeftOvers/components/ListSelect.tsx b/LeftOvers/components/ListSelect.tsx index 5b2a354..55d9704 100644 --- a/LeftOvers/components/ListSelect.tsx +++ b/LeftOvers/components/ListSelect.tsx @@ -25,6 +25,7 @@ export default function ListSelect(props: ListProps) { dropdownTextStyles={styles.itemText} badgeStyles={styles.badges} badgeTextStyles={styles.badgesText} + notFoundText="All Diets Already Selected" placeholder={props.title} label={props.title}/> ); @@ -35,7 +36,6 @@ const styles = StyleSheet.create({ flexDirection: "row", alignItems: "center", justifyContent: "stretch", - minHeight: 25, backgroundColor: "#F2F0E4", borderTopRightRadius: 15, borderTopLeftRadius: 15, @@ -43,13 +43,12 @@ const styles = StyleSheet.create({ borderBottomLeftRadius: 0, borderWidth: 2, borderColor: "#ACA279", - width: 330, + minWidth: "92%", + maxWidth: "92%", marginBottom: 0, overflow: "hidden", }, arrow: { - height: 20, - width: 20, resizeMode: 'contain', tintColor: "#3F3C42", flex: 0.1, @@ -63,34 +62,36 @@ const styles = StyleSheet.create({ }, itemList: { - //flexDirection: "row", + flexDirection: "row", alignItems: "flex-start", - //justifyContent: "stretch", + justifyContent: "stretch", borderWidth: 0, borderTopRightRadius: 0, borderTopLeftRadius: 0, borderBottomRightRadius: 15, borderBottomLeftRadius: 15, backgroundColor: "#E3DEC9", - width: 330, + minWidth: "92%", + maxWidth: "92%", }, itemCell: { - maxHeight: 30, - flex: 1, padding: 0, - paddingLeft: 10, + paddingTop: "5%", + width: "100%", + minWidth: 250, + maxWidth: 250, }, itemText: { fontSize: 13, textAlign: "left", flex: 1, - padding: 5, - paddingLeft: 10, + padding: "1%", + paddingLeft: "3%", color: "#3F3C42", }, badges: { - backgroundColor: "#59BDCD" + backgroundColor: "#59BDCD", }, badgesText: { fontSize: 15, diff --git a/LeftOvers/components/ListWithoutSelect.tsx b/LeftOvers/components/ListWithoutSelect.tsx index d8c851c..3ae3bc5 100644 --- a/LeftOvers/components/ListWithoutSelect.tsx +++ b/LeftOvers/components/ListWithoutSelect.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import {StyleSheet, Text, TextInput, View, Image, FlatList} from 'react-native'; +import {StyleSheet, Text, TextInput, View, Image, FlatList, Pressable} from 'react-native'; import ValidateButton from './ValidateButton'; import HeaderFlatList from './HeaderFlatList'; import { MultipleSelectList, SelectList } from 'react-native-dropdown-select-list' @@ -12,20 +12,20 @@ type ListProps = { export default function ListWithoutSelect(props: ListProps) { const [selected, setSelected] = React.useState([]); return ( - } - boxStyles={styles.titleBar} - inputStyles={styles.title} - dropdownStyles={styles.itemList} - dropdownItemStyles={styles.itemCell} - dropdownTextStyles={styles.itemText} - checkBoxStyles={styles.box} - notFoundText="None" - placeholder={props.title} - label={props.title}/> + } + boxStyles={styles.titleBar} + inputStyles={styles.title} + dropdownStyles={styles.itemList} + dropdownItemStyles={styles.itemCell} + dropdownTextStyles={styles.itemText} + checkBoxStyles={styles.box} + notFoundText="None" + placeholder={props.title} + label={props.title}/> ); } @@ -34,7 +34,6 @@ const styles = StyleSheet.create({ flexDirection: "row", alignItems: "center", justifyContent: "stretch", - minHeight: 25, backgroundColor: "#F2F0E4", borderTopRightRadius: 15, borderTopLeftRadius: 15, @@ -42,13 +41,12 @@ const styles = StyleSheet.create({ borderBottomLeftRadius: 0, borderWidth: 2, borderColor: "#ACA279", - width: 330, + minWidth: "92%", + maxWidth: "92%", marginBottom: 0, overflow: "hidden", }, arrow: { - height: 20, - width: 20, resizeMode: 'contain', tintColor: "#3F3C42", flex: 0.1, @@ -62,22 +60,24 @@ const styles = StyleSheet.create({ }, itemList: { - //flexDirection: "row", + flexDirection: "row", alignItems: "flex-start", - //justifyContent: "stretch", + justifyContent: "stretch", borderWidth: 0, borderTopRightRadius: 0, borderTopLeftRadius: 0, borderBottomRightRadius: 15, borderBottomLeftRadius: 15, backgroundColor: "#E3DEC9", - width: 330, + minWidth: "92%", + maxWidth: "92%", }, itemCell: { - maxHeight: 30, - flex: 1, padding: 0, - paddingLeft: 10, + paddingTop: "5%", + width: "100%", + minWidth: 250, + maxWidth: 250, }, itemText: { fontSize: 13, diff --git a/LeftOvers/components/ProfileDelete.tsx b/LeftOvers/components/ProfileDelete.tsx index 9f8d002..944f2b7 100644 --- a/LeftOvers/components/ProfileDelete.tsx +++ b/LeftOvers/components/ProfileDelete.tsx @@ -21,13 +21,24 @@ export default function ProfileDelete(props: ProfileProps) { } }; + let imageSource + if (props.avatar == "plus.png"){ + imageSource = require('../assets/images/plus.png') + } + else if (props.avatar == "plus_small.png"){ + imageSource = require('../assets/images/plus_small.png') + } + else{ + imageSource = require('../assets/images/logo.png') + } + return ( - + {props.name} - + Filters @@ -35,9 +46,8 @@ export default function ProfileDelete(props: ProfileProps) { - + - ); @@ -45,69 +55,61 @@ export default function ProfileDelete(props: ProfileProps) { const styles = StyleSheet.create({ background: { - //maxWidth: 370, flexDirection: 'column', alignItems: 'center', justifyContent: 'center', borderRadius: 15, backgroundColor: '#F2F0E4', - padding: 10, - marginHorizontal: 10, + padding: "3%", + marginHorizontal: "3%", + height: "100%", }, + pseudoBar: { flexDirection: "row", alignItems: "center", justifyContent: "center", - flex: 0.7, - width: 330, - marginBottom: 10, + width: "100%", + marginHorizontal: "3%", + marginBottom: "3%", }, avatar: { - padding: 20, + padding: "5%", resizeMode: 'contain', borderWidth: 2, borderColor: "#ACA279", borderRadius: 45, + height: "100%", + flex: 0.03, }, text: { + flex: 1, fontSize: 20, color: '#ACA279', alignItems: 'center', - justifyContent: 'left', - flex: 0.8, - marginLeft: 20, - padding: 5, + textAlign: 'left', + marginLeft: "10%", + padding: "2%", + height: "100%", }, - - filterBar: { flexDirection: "row", - width: 300, - paddingTop: 10, - paddingBottom: 5, + width: "90%", + paddingTop: "3%", alignItems: "flex-end", justifyContent: "center", - flex: 0.2, }, filters: { - flex: 0.5, fontSize: 20, color: '#ACA279', flex: 1, - padding: 5, + padding: "2%", paddingLeft: 0, paddingBottom: 0, }, - nbSelected: { - fontSize: 11, - flex: 1, - color: "#3F3C42", - textAlign: "right", - }, arrow: { - height: 20, - width: 20, + height: "100%", resizeMode: 'contain', tintColor: "#3F3C42", flex: 0.1, diff --git a/LeftOvers/components/ProfileDetails.tsx b/LeftOvers/components/ProfileDetails.tsx index cd0aae5..4942d5a 100644 --- a/LeftOvers/components/ProfileDetails.tsx +++ b/LeftOvers/components/ProfileDetails.tsx @@ -25,30 +25,42 @@ export default function ProfileDetails(props: ProfileProps) { } }; + let imageSource + + if (props.avatar == "plus.png"){ + imageSource = require('../assets/images/plus.png') + } + else if (props.avatar == "plus_small.png"){ + imageSource = require('../assets/images/plus_small.png') + } + else{ + imageSource = require('../assets/images/logo.png') + } + return ( - + {props.name} props.navigation.navigate('ProfileModification')}> - + - + Filters - 3 selected + {props.diets.length} selected - + - + - + ); @@ -56,72 +68,71 @@ export default function ProfileDetails(props: ProfileProps) { const styles = StyleSheet.create({ background: { - //maxWidth: 370, flexDirection: 'column', alignItems: 'center', justifyContent: 'center', borderRadius: 15, backgroundColor: '#F2F0E4', - padding: 10, - marginHorizontal: 10, + padding: "3%", + marginHorizontal: "3%", }, + pseudoBar: { flexDirection: "row", alignItems: "center", justifyContent: "center", - flex: 0.7, - width: 330, - marginBottom: 10, + width: "100%", + marginHorizontal: "3%", + marginBottom: "3%", }, avatar: { - padding: 20, + padding: "5%", resizeMode: 'contain', borderWidth: 2, borderColor: "#ACA279", borderRadius: 45, + height: "100%", + flex: 0.03, }, text: { + flex: 1, fontSize: 20, color: '#ACA279', alignItems: 'center', - justifyContent: 'left', - flex: 0.8, - marginLeft: 20, - padding: 5, + textAlign: 'left', + marginLeft: "3%", + padding: "2%", + height: "100%", }, modify: { - height: 20, - width: 20, + height: "100%", tintColor: "#ACA279", resizeMode: 'contain', - flex: 0.05, - marginLeft: 15, + flex: 0.1, + marginLeft: "3%", }, delete: { - height: 20, - width: 20, - tintColor: "#ACA279", - resizeMode: 'contain', - flex: 0.05, + height: "100%", + width: "100%", + tintColor: "#ACA279", + resizeMode: 'contain', + flex: 1, }, - - filterBar: { flexDirection: "row", - width: 300, - paddingTop: 10, - paddingBottom: 5, + width: "85%", + paddingTop: "3%", + paddingBottom: "1%", alignItems: "flex-end", justifyContent: "center", - flex: 0.2, + flex: 1, }, filters: { - flex: 0.5, fontSize: 20, color: '#ACA279', flex: 1, - padding: 5, + padding: "2%", paddingLeft: 0, paddingBottom: 0, }, @@ -130,10 +141,10 @@ const styles = StyleSheet.create({ flex: 1, color: "#3F3C42", textAlign: "right", + marginRight: "3%", }, arrow: { - height: 20, - width: 20, + height: "100%", resizeMode: 'contain', tintColor: "#3F3C42", flex: 0.1, diff --git a/LeftOvers/components/ProfileElement.tsx b/LeftOvers/components/ProfileElement.tsx index 658820e..f7c392d 100644 --- a/LeftOvers/components/ProfileElement.tsx +++ b/LeftOvers/components/ProfileElement.tsx @@ -21,19 +21,34 @@ export default function ProfileElement(props : Profile) { else{ setWaiting("flex") } - if (props.isActive == "flex" && waiting == "none"){ + if (props.disableSelection){ + setSeparator("none") + } + else if (props.isActive == "flex" && waiting == "none"){ setSeparator("flex") } else{ setSeparator("none") } console.log(waiting, separator, props.name) - }; + } + + let imageSource + if (props.avatar == "plus.png"){ + imageSource = require('../assets/images/plus.png') + } + else if (props.avatar == "plus_small.png"){ + imageSource = require('../assets/images/plus_small.png') + } + else{ + imageSource = require('../assets/images/logo.png') + } + return ( - + - + {props.name} @@ -54,42 +69,42 @@ const styles = StyleSheet.create({ button: { alignItems: 'center', justifyContent: 'flex-start', - height: 80, - //width: "75%", - marginVertical: 15, + height: "80%", + width: "78%", + marginVertical: "3%", }, pseudoBar: { flexDirection: "row", alignItems: "center", justifyContent: "center", - //width: "120%", - width: 225, - marginHorizontal: 10, - marginBottom: 10, + width: "100%", + marginHorizontal: "3%", + marginBottom: "3%", }, avatar: { - padding: 20, + padding: "5%", resizeMode: 'contain', borderWidth: 2, borderColor: "#ACA279", borderRadius: 45, + height: "100%", + flex: 0.01, }, text: { fontSize: 15, color: '#ACA279', alignItems: 'center', - justifyContent: 'left', - flex: 0.8, - marginLeft: 20, - padding: 5, - width: "100%" + textAlign: 'left', + flex: 0.9, + marginLeft: "10%", + padding: "2%", }, active: { borderWidth: 1, borderRadius: 20, borderColor: "#59BDCD", - padding: 5, + padding: "1%", }, textActive: { fontSize: 10, @@ -100,7 +115,7 @@ const styles = StyleSheet.create({ borderWidth: 1, borderRadius: 20, borderColor: "#ACA279", - padding: 5, + padding: "1%", }, textWaiting: { fontSize: 10, diff --git a/LeftOvers/components/ProfileModification.tsx b/LeftOvers/components/ProfileModification.tsx index 8188c8d..ebf9cf4 100644 --- a/LeftOvers/components/ProfileModification.tsx +++ b/LeftOvers/components/ProfileModification.tsx @@ -15,10 +15,21 @@ type ProfileProps = { export default function ProfileModification(props: ProfileProps) { const [name, onChangeName] = useState(props.name); + let imageSource + if (props.avatar == "plus.png"){ + imageSource = require('../assets/images/plus.png') + } + else if (props.avatar == "plus_small.png"){ + imageSource = require('../assets/images/plus_small.png') + } + else{ + imageSource = require('../assets/images/logo.png') + } + return ( - + @@ -27,9 +38,9 @@ export default function ProfileModification(props: ProfileProps) { 3 selected - + - + ); @@ -37,77 +48,68 @@ export default function ProfileModification(props: ProfileProps) { const styles = StyleSheet.create({ background: { - //maxWidth: 370, flexDirection: 'column', alignItems: 'center', justifyContent: 'center', borderRadius: 15, backgroundColor: '#F2F0E4', - padding: 10, - marginHorizontal: 10, + padding: "3%", + marginHorizontal: "3%", }, + pseudoBar: { flexDirection: "row", alignItems: "center", justifyContent: "center", - flex: 0.7, - width: 330, - marginBottom: 10, + width: "100%", + marginHorizontal: "3%", + marginBottom: "3%", }, avatar: { - padding: 20, + padding: "5%", resizeMode: 'contain', borderWidth: 2, borderColor: "#ACA279", borderRadius: 45, + height: "100%", + flex: 0.04, }, textInput: { - flex: 0.5, fontSize: 15, color: '#ACA279', - width : 150, borderRadius: 10, borderWidth: 2, borderStyle: 'dashed', borderColor: '#ACA279', alignItems: 'center', - justifyContent: 'left', + textAlign: 'left', flex: 0.8, - marginLeft: 20, - padding: 5, + marginLeft: "7%", + padding: "2%", }, modify: { - height: 20, - width: 20, + height: "100%", tintColor: "#ACA279", resizeMode: 'contain', flex: 0.1, - marginLeft: 5, + marginLeft: "3%", }, - - filterBar: { flexDirection: "row", - width: 300, - paddingTop: 10, - paddingBottom: 5, + width: "85%", + paddingTop: "3%", + paddingBottom: "2%", alignItems: "flex-end", justifyContent: "center", - flex: 0.2, }, filters: { - flex: 0.5, fontSize: 20, color: '#ACA279', flex: 1, - padding: 5, - paddingLeft: 0, - paddingBottom: 0, }, nbSelected: { fontSize: 11, - flex: 1, color: "#3F3C42", textAlign: "right", } diff --git a/LeftOvers/components/ProfileSelection.tsx b/LeftOvers/components/ProfileSelection.tsx index 832e727..60ee2c8 100644 --- a/LeftOvers/components/ProfileSelection.tsx +++ b/LeftOvers/components/ProfileSelection.tsx @@ -36,12 +36,12 @@ export default function ProfileSelection(props: ProfileSelectionProps) { return ( - - + + - - + + ); @@ -49,10 +49,9 @@ export default function ProfileSelection(props: ProfileSelectionProps) { const styles = StyleSheet.create({ background: { - //height: 120, - height: 100, + width: "92%", + height: 80, borderRadius: 20, - marginHorizontal: 10, borderWidth: 2, borderColor: '#ACA279', backgroundColor: '#E3DEC9', diff --git a/LeftOvers/components/Separator.tsx b/LeftOvers/components/Separator.tsx index dbeae6f..21a8db5 100644 --- a/LeftOvers/components/Separator.tsx +++ b/LeftOvers/components/Separator.tsx @@ -7,11 +7,11 @@ export default function Separator (){ const styles = StyleSheet.create({ separator: { - width: 200, // Largeur de la ligne - backgroundColor: 'black', // Couleur de la ligne + width: "90%", + backgroundColor: '#3F3C42', borderWidth : 1, - marginLeft : 10, - marginRight : 10, + marginLeft : "5%", + marginRight : "5%", }, }); \ No newline at end of file diff --git a/LeftOvers/components/ValidateButton.tsx b/LeftOvers/components/ValidateButton.tsx index a075fc4..fa517a6 100644 --- a/LeftOvers/components/ValidateButton.tsx +++ b/LeftOvers/components/ValidateButton.tsx @@ -11,6 +11,47 @@ type ValidateButtonProps = { } export default function ValidateButton(props: ValidateButtonProps) { + let imageSource + if (props.image == "cook.png"){ + imageSource = require('../assets/images/cook.png') + } + else if (props.image == "cross.png"){ + imageSource = require('../assets/images/cross.png') + } + else if (props.image == "delete.png"){ + imageSource = require('../assets/images/delete.png') + } + else if (props.image == "modify.png"){ + imageSource = require('../assets/images/modify.png') + } + else if (props.image == "parameter.png"){ + imageSource = require('../assets/images/parameter.png') + } + else if (props.image == "plus.png"){ + imageSource = require('../assets/images/plus.png') + } + else if (props.image == "plus_small.png"){ + imageSource = require('../assets/images/plus_small.png') + } + else if (props.image == "save.png"){ + imageSource = require('../assets/images/save.png') + } + else if (props.image == "search.png"){ + imageSource = require('../assets/images/search.png') + } + else if (props.image == "update.png"){ + imageSource = require('../assets/images/update.png') + } + else if (props.image == "validate.png"){ + imageSource = require('../assets/images/validate.png') + } + else if (props.image == "warehouse.png"){ + imageSource = require('../assets/images/warehouse.png') + } + else{ + imageSource = require('../assets/images/logo.png') + } + return ( + padding: "2%", + paddingRight: "3%",}}> {props.title} diff --git a/LeftOvers/screens/CreateProfile.tsx b/LeftOvers/screens/CreateProfile.tsx index 8d4b3e4..864cd33 100644 --- a/LeftOvers/screens/CreateProfile.tsx +++ b/LeftOvers/screens/CreateProfile.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import {StyleSheet, View} from 'react-native'; +import {StyleSheet, View, ScrollView, useWindowDimensions} from 'react-native'; import ProfileModification from '../components/ProfileModification'; import ValidateButton from '../components/ValidateButton'; import TopBar from '../components/TopBar'; @@ -10,16 +10,17 @@ export default function CreateProfile(props) { const all = [] const die = [{value: "Dairy free"}, {value: "Gluten free"}, {value: "Porkless"}, {value: "Vegan"}, {value: "Vegetarian"}, {value: "Pescatarian"}] return ( - + - - - + + + - + + - + ); } @@ -37,7 +38,7 @@ const styles = StyleSheet.create({ height: "100%", width: "100%", flex: 1, - padding: 10, + padding: "2%", paddingTop: 0, }, }); \ No newline at end of file diff --git a/LeftOvers/screens/FiltersSelection.tsx b/LeftOvers/screens/FiltersSelection.tsx index 6a3f42b..642f92c 100644 --- a/LeftOvers/screens/FiltersSelection.tsx +++ b/LeftOvers/screens/FiltersSelection.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import {StyleSheet, View, Text} from 'react-native'; +import {StyleSheet, View, Text, ScrollView, useWindowDimensions} from 'react-native'; import ProfileModification from '../components/ProfileModification'; import ValidateButton from '../components/ValidateButton'; import TopBar from '../components/TopBar'; @@ -17,55 +17,72 @@ export default function FiltersSelection(props) { {name: "David Martinez", avatar: "plus_small.png", isActive: "flex"}, ] + let cptActive = 0 + profiles.forEach(function (value) { + if(value.isActive=="flex"){ + cptActive=cptActive+1 + } + }) + const die = [{value: "Dairy free"}, {value: "Gluten free"}, {value: "Porkless"}, {value: "Vegan"}, {value: "Vegetarian"}, {value: "Pescatarian"}] const allProfiles = [{value: "Skimmed Milk"}, {value: "Nuts"}] const dieProfiles = [{value: "Porkless"}, {value: "Pescatarian"}] - const dieAdd = [{value: "Dairy free"}, {value: "Gluten free"}, {value: "Vegan"}, {value: "Vegetarian"}] + function isInProfileDiets(element, index, array) { + var retType = true + dieProfiles.forEach(function (diets) { + if(diets.value==element.value){ + retType = false + } + }) + return retType + } + const dieAdd = die.filter(isInProfileDiets); const allAdd = [] return ( - + - - - + + + Profiles - 2 selected, 1 waiting + {cptActive} selected, 1 waiting - + - + - + Filters from Profiles - + - + Additional Filters - 3 selected + {dieAdd.length} available - + - + - + + - + ); } @@ -83,53 +100,45 @@ const styles = StyleSheet.create({ height: "100%", width: "100%", flex: 1, - padding: 10, + padding: "2%", paddingTop: 0, }, background: { - //maxWidth: 370, flexDirection: 'column', alignItems: 'center', justifyContent: 'center', borderRadius: 20, backgroundColor: '#F2F0E4', - padding: 10, - paddingBottom: 0, - marginHorizontal: 10, + padding: "3%", + marginHorizontal: "3%", }, + filterBar: { flexDirection: "row", - width: 300, - paddingTop: 10, - paddingBottom: 5, + width: "85%", + paddingTop: "3%", + paddingBottom: "2%", alignItems: "flex-end", justifyContent: "center", - flex: 0.2, }, filters: { - flex: 0.8, fontSize: 20, color: '#ACA279', flex: 1, - padding: 5, - paddingLeft: 0, - paddingBottom: 0, }, nbSelected: { fontSize: 11, - //flex: 0.2, color: "#3F3C42", textAlign: "right", }, profilesSelection: { - //maxWidth: 370, - flexDirection: 'column', alignItems: 'center', justifyContent: 'center', borderRadius: 20, backgroundColor: '#F2F0E4', - marginHorizontal: 10, + marginHorizontal: "3%", + paddingBottom: "3%", }, }); \ No newline at end of file diff --git a/LeftOvers/screens/HomePage.tsx b/LeftOvers/screens/HomePage.tsx index e1f76e1..e18fe58 100644 --- a/LeftOvers/screens/HomePage.tsx +++ b/LeftOvers/screens/HomePage.tsx @@ -1,6 +1,6 @@ import React from 'react'; import { useState } from 'react'; -import {StyleSheet, View, Text, Pressable, Image} from 'react-native'; +import {StyleSheet, View, Text, Pressable, Image, ScrollView, SafeAreaView} from 'react-native'; import ProfileModification from '../components/ProfileModification'; import ValidateButton from '../components/ValidateButton'; import TopBar from '../components/TopBar'; @@ -42,10 +42,15 @@ export default function HomePage({ navigation , props}) { }; return ( - - + + + + + LeftOvers + + - + @@ -56,113 +61,111 @@ export default function HomePage({ navigation , props}) { Glad to see you again! - + Profiles 2 selected - + - + navigation.navigate('Profiles')}/> - + Ingredient Stocks - + console.log('ManageStocks')}/> - + - - Cooking - - - - Selected Ingredient - - - - - - - - - - - - console.log('Chnge Selected Ingredient')}/> - - console.log('Go and search for recipe')}/> + + Cooking + + + + Selected Ingredient + + + + + + + + + + + + console.log('Chnge Selected Ingredient')}/> + + console.log('Go and search for recipe')}/> + - + ); } const styles = StyleSheet.create({ - container: { - height: "100%", - width: "100%", - flex: 1, - backgroundColor: '#3F3C42', - alignItems: 'center', - justifyContent: 'center', - }, - linearGradient: { - height: "100%", - width: "100%", - flex: 1, - padding: 10, - paddingTop: 0, - }, - filterBar: { + container: { + width: "100%", + flex: 1, + backgroundColor: '#3F3C42', + alignItems: 'center', + justifyContent: 'center', + }, + linearGradient: { + width: "100%", + flex: 1, + padding: "2%", + paddingTop: 0, + }, + separator: { + marginTop: "6%" + }, + + filterBar: { flexDirection: "row", - width: 300, - paddingTop: 10, - paddingBottom: 5, + width: "85%", + paddingTop: "3%", + paddingBottom: "2%", alignItems: "flex-end", justifyContent: "center", - flex: 0.2, - }, - filters: { - flex: 0.8, + }, + filters: { fontSize: 20, color: '#ACA279', flex: 1, - padding: 5, - paddingLeft: 0, - paddingBottom: 0, - }, - nbSelected: { + }, + nbSelected: { fontSize: 11, color: "#3F3C42", textAlign: "right", - }, - profilesSelection: { - flexDirection: 'column', + }, + + profilesSelection: { alignItems: 'center', justifyContent: 'center', borderRadius: 20, backgroundColor: '#F2F0E4', - paddingTop: 5, - marginHorizontal: 10, - }, - welcome: { - flexDirection: 'column', + marginHorizontal: "3%", + paddingBottom: "3%", + }, + + welcome: { alignItems: 'center', justifyContent: 'center', borderRadius: 20, backgroundColor: '#F2F0E4', - paddingVertical: 10, - paddingHorizontal: 25, - marginHorizontal: 10, - }, - text: { + paddingVertical: "3%", + paddingHorizontal: "7%", + marginHorizontal: "3%", + }, + text: { fontSize: 20, color: '#ACA279', }, @@ -170,10 +173,9 @@ const styles = StyleSheet.create({ fontSize: 20, fontWeight: "bold", color: '#59BDCD', - textAlign: "left", - }, - ingredientSelection: { - flexDirection: 'column', + }, + + ingredientSelection: { width: "90%", alignItems: 'center', justifyContent: 'center', @@ -181,7 +183,23 @@ const styles = StyleSheet.create({ backgroundColor: '#E3DEC9', borderWidth: 2, borderColor: "#ACA279", - marginHorizontal: 10, - padding: 5 - }, + padding: "2%" + }, + + appName: { + fontSize: 20, + fontWeight: "bold", + color: '#3F3C42', + textAlign: "center", + flex: 0.8, + }, + topBar: { + flexDirection: 'row', + width: "100%", + height: "11%", + alignItems: 'center', + justifyContent: 'center', + backgroundColor: '#F2F0E4', + paddingTop: "8%", + }, }); \ No newline at end of file diff --git a/LeftOvers/screens/ModifyProfile.tsx b/LeftOvers/screens/ModifyProfile.tsx index b4cf97d..e78197c 100644 --- a/LeftOvers/screens/ModifyProfile.tsx +++ b/LeftOvers/screens/ModifyProfile.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import {StyleSheet, View} from 'react-native'; +import {StyleSheet, View, ScrollView, useWindowDimensions} from 'react-native'; import ProfileModification from '../components/ProfileModification'; import ValidateButton from '../components/ValidateButton'; import TopBar from '../components/TopBar'; @@ -10,15 +10,16 @@ export default function ModifyProfile(props) { const all = [{value: "Mussels"}, {value: "Skimmed Milk"}, {value: "Nuts"}] const die = [{value: "Dairy free"}, {value: "Gluten free"}, {value: "Porkless"}, {value: "Vegan"}, {value: "Vegetarian"}, {value: "Pescatarian"}] return ( - - - - + + + + - + + - + ); } @@ -36,7 +37,7 @@ const styles = StyleSheet.create({ height: "100%", width: "100%", flex: 1, - padding: 10, + padding: "2%", paddingTop: 0, }, }); \ No newline at end of file diff --git a/LeftOvers/screens/Profiles.tsx b/LeftOvers/screens/Profiles.tsx index 4286cbe..2acef8f 100644 --- a/LeftOvers/screens/Profiles.tsx +++ b/LeftOvers/screens/Profiles.tsx @@ -1,12 +1,12 @@ import React from 'react'; import { useState } from 'react'; -import {StyleSheet, View, Modal, Pressable, Text, Image} from 'react-native'; -import ProfileDetails from '../components/ProfileDetails'; -import ProfileDelete from '../components/ProfileDelete'; -import TopBar from '../components/TopBar'; +import { StyleSheet, View, Modal, Pressable, Text, Image, ScrollView } from 'react-native'; import {LinearGradient} from 'expo-linear-gradient'; import {SafeAreaProvider} from 'react-native-safe-area-context'; +import ProfileDetails from '../components/ProfileDetails'; +import ProfileDelete from '../components/ProfileDelete'; + export default function Profiles({props, navigation}) { const allJohnny = [{value: "Coconut"}, {value: "Skimmed Milk"}, {value: "Nuts"}] const dieJohnny = [{value: "Gluten free"}, {value: "Porkless"}, {value: "Pescatarian"}] @@ -24,7 +24,7 @@ export default function Profiles({props, navigation}) { const [opacity, setOpacity] = useState(1); const raisePopUp = () => { setVisible(true) - setOpacity(0.4) + setOpacity(0.3) } const erasePopUp = () => { setVisible(false) @@ -32,19 +32,18 @@ export default function Profiles({props, navigation}) { } return ( - - + + - - + + - + - + - + - @@ -57,13 +56,13 @@ export default function Profiles({props, navigation}) { - + Yes - + No @@ -73,9 +72,10 @@ export default function Profiles({props, navigation}) { + - + ); } @@ -88,6 +88,7 @@ const styles = StyleSheet.create({ backgroundColor: '#3F3C42', alignItems: 'center', justifyContent: 'center', + marginBottom: 10, }, linearGradient: { height: "100%", @@ -96,39 +97,37 @@ const styles = StyleSheet.create({ padding: 10, paddingTop: 0, }, - - + separator: { + marginTop: "6%" + }, modal: { position: 'absolute', - top: '50%', - left: '50%', + top: '8%', justifyContent: "center", alignItems: "center", width: "100%", - transform: [{ translateX: -207 }, { translateY: -140 }], }, viewModal: { flexDirection: "column", - padding: 10, + padding: "3%", alignItems: "center", justifyContent: "center", width: "100%", - height: 200, + flex: 1, }, - profileValidation: { width: "100%", alignItems: "center", justifyContent: "center", - paddingBottom: 20, + marginBottom: "6%", + flex: 0.7, }, decisionBarVertical: { flexDirection: "column", - width: "100%", - padding: 10, - height: "100%", + width: "90%", + padding: "3%", borderRadius: 15, alignItems: "center", justifyContent: "center", @@ -140,23 +139,21 @@ const styles = StyleSheet.create({ alignItems: 'center', justifyContent: 'center', flex: 0.3, - padding: 5, + marginBottom: "2%", + marginHorizontal: "2%", }, decisionBar: { flexDirection: "row", flex: 0.7, width: "100%", - height: "20%", - borderRadius: 15, alignItems: "center", justifyContent: "center", - backgroundColor: "#F2F0E4", }, yesButton: { flexDirection: "row", flex: 0.5, - padding: 10, - marginHorizontal: 10, + padding: "2%", + marginHorizontal: "5%", width: "90%", borderRadius: 20, alignItems: "center", @@ -169,13 +166,13 @@ const styles = StyleSheet.create({ alignItems: 'center', justifyContent: 'center', flex: 0.7, - padding: 5, + padding: "4%", }, noButton: { flexDirection: "row", flex: 0.5, - padding: 10, - marginHorizontal: 10, + padding: "2%", + marginHorizontal: "5%", width: "90%", borderRadius: 20, alignItems: "center", @@ -188,6 +185,6 @@ const styles = StyleSheet.create({ alignItems: 'center', justifyContent: 'center', flex: 0.7, - padding: 5, + padding: "4%", }, }); \ No newline at end of file