parent
45ab6bd7d3
commit
da6c25d296
@ -1,89 +1,90 @@
|
|||||||
import React, { useState } from 'react';
|
import React, { useState } from 'react';
|
||||||
import {StyleSheet,Pressable, Text, View, Image} from 'react-native';
|
import { View, StyleSheet, Pressable, Image, Text } from 'react-native';
|
||||||
import bracketLeft from '../assets/images/angle_bracket_left.png';
|
import bracketLeft from '../assets/images/angle_bracket_left.png';
|
||||||
import bracketRight from '../assets/images/angle_bracket_right.png';
|
import bracketRight from '../assets/images/angle_bracket_right.png';
|
||||||
import parameter from '../assets/images/parameter.png';
|
import parameter from '../assets/images/parameter.png';
|
||||||
import FoodElementText from './FoodElementText';
|
import FoodElementText from './FoodElementText';
|
||||||
|
|
||||||
interface selectedIngredientProps {
|
interface SelectedIngredientProps {
|
||||||
listeIngredient : string[]
|
listeIngredient: string[];
|
||||||
listeImage : string[]
|
listeImage: string[];
|
||||||
|
onEvent: (value: string) => void;
|
||||||
}
|
}
|
||||||
|
|
||||||
export default function SelectedIngredient(props : any) {
|
export default function SelectedIngredient(props: SelectedIngredientProps) {
|
||||||
|
const [cpt, setCpt] = useState(0);
|
||||||
const [cpt, setCpt] = useState(0);
|
|
||||||
|
|
||||||
const decreaseCounter = () => {
|
const decreaseCounter = () => {
|
||||||
if (cpt > 0) {
|
if (cpt > 0) {
|
||||||
setCpt(cpt - 1);
|
setCpt(cpt - 1);
|
||||||
}
|
} else {
|
||||||
else{
|
setCpt(props.listeIngredient.length - 1);
|
||||||
setCpt( props.listeIngredient.length - 1);
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const increaseCounter = () => {
|
const increaseCounter = () => {
|
||||||
if (cpt < props.listeIngredient.length - 1) {
|
if (cpt < props.listeIngredient.length - 1) {
|
||||||
setCpt(cpt + 1);
|
setCpt(cpt + 1);
|
||||||
}else{
|
} else {
|
||||||
setCpt(0);
|
setCpt(0);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
const handlePress = () => {
|
||||||
<View style={styles.view}>
|
// Supposons que vous voulez envoyer la valeur 'Hello' au parent
|
||||||
<View id="Top" style={styles.horizontalAlignement}>
|
props.onEvent('Hello');
|
||||||
<Text style={styles.text}>Selected ingredients</Text>
|
};
|
||||||
<Pressable>
|
|
||||||
<Image source={parameter} style={{ width: 15, height: 15 }} />
|
|
||||||
</Pressable>
|
|
||||||
</View>
|
|
||||||
|
|
||||||
<View id="IngredientList" style={styles.horizontalAlignement}>
|
return (
|
||||||
<Pressable onPress={decreaseCounter} id="GoLeft" style={{}}>
|
<View style={styles.view}>
|
||||||
<Image source={bracketLeft} style={{ width: 40, height: 40 }} />
|
<View id="Top" style={styles.horizontalAlignement}>
|
||||||
</Pressable>
|
<Text style={styles.text}>Selected ingredients</Text>
|
||||||
|
<Pressable onPress={handlePress}>
|
||||||
|
<Image source={parameter} style={{ width: 15, height: 15 }} />
|
||||||
|
</Pressable>
|
||||||
|
</View>
|
||||||
|
|
||||||
<FoodElementText title={props.listeIngredient[cpt]} />
|
<View id="IngredientList" style={styles.horizontalAlignement}>
|
||||||
|
<Pressable onPress={decreaseCounter} id="GoLeft" style={{}}>
|
||||||
|
<Image source={bracketLeft} style={{ width: 40, height: 40 }} />
|
||||||
|
</Pressable>
|
||||||
|
|
||||||
<Pressable onPress={increaseCounter} id="GoRight" style={{}}>
|
<FoodElementText title={props.listeIngredient[cpt]} />
|
||||||
<Image source={bracketRight} style={{ width: 40, height: 40 }} />
|
|
||||||
</Pressable>
|
<Pressable onPress={increaseCounter} id="GoRight" style={{}}>
|
||||||
</View>
|
<Image source={bracketRight} style={{ width: 40, height: 40 }} />
|
||||||
|
</Pressable>
|
||||||
</View>
|
</View>
|
||||||
);
|
</View>
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
const styles = StyleSheet.create({
|
const styles = StyleSheet.create({
|
||||||
view: {
|
view: {
|
||||||
width : 350,
|
width: 350,
|
||||||
height: 110,
|
height: 110,
|
||||||
borderRadius: 15,
|
borderRadius: 15,
|
||||||
elevation: 3,
|
elevation: 3,
|
||||||
borderWidth: 2,
|
borderWidth: 1,
|
||||||
borderColor: 'black',
|
borderColor: 'black',
|
||||||
display: "flex",
|
display: 'flex',
|
||||||
flexWrap: "wrap",
|
flexWrap: 'wrap',
|
||||||
backgroundColor: '#E3DEC9',
|
backgroundColor: '#E3DEC9',
|
||||||
},
|
},
|
||||||
horizontalAlignement: {
|
horizontalAlignement: {
|
||||||
display: "flex",
|
display: 'flex',
|
||||||
height : 30,
|
height: 30,
|
||||||
width: 350,
|
width: 350,
|
||||||
flexDirection : 'row',
|
flexDirection: 'row',
|
||||||
justifyContent : 'space-around',
|
justifyContent: 'space-around',
|
||||||
alignItems: 'center',
|
alignItems: 'center',
|
||||||
marginTop: 10,
|
marginTop: 10,
|
||||||
},
|
},
|
||||||
text: {
|
text: {
|
||||||
fontSize: 14,
|
fontSize: 14,
|
||||||
lineHeight: 21,
|
lineHeight: 21,
|
||||||
fontWeight: 'bold',
|
fontWeight: 'bold',
|
||||||
letterSpacing: 0.25,
|
letterSpacing: 0.25,
|
||||||
color: 'black',
|
color: 'black',
|
||||||
}
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in new issue