import { Pressable, StyleSheet, Text, View } from 'react-native' import React, { useState } from 'react' import { useStore } from '../store/store' import { StatusBar } from 'expo-status-bar'; import { ScrollView, TouchableWithoutFeedback } from 'react-native-gesture-handler'; import BackgroundDrinkInfo from "../components/BackgroundDrinkInfo"; import PaymentFooter from "../components/PaymentFooter"; const DetailDrink = ({navigation, route}: any) => { const ItemOfIndex = useStore((state: any) => route.params.type == 'Donut' ? state.AllDonutMenu : state.AllDrinkMenu, )[route.params.index]; const addToFavoriteList = useStore((state: any) => state.addToFavoriteList); const deleteFromFavoriteList = useStore((state: any) => state.deleteFromFavoriteList); //favorite functionality const ToggleFavorite = (favourite: boolean, type: string, id: string) => { favourite ? deleteFromFavoriteList(type, id) : addToFavoriteList(type, id) } //add to cart const addToCart = useStore((state: any) => state.addToCart); const calculateCartPrice = useStore((state: any) => state.calculateCartPrice); const addtoCartHandler = ({ id, index, name, image_item, type, price }: any) => { addToCart({ id, index, name, image_item, type, prices:[{...price, quantity:1}], }); calculateCartPrice(); navigation.navigate('cart') } //backhandler functionality const BackHandler = () => { navigation.pop(); } //desc const [descriptionDrink, setDescriptionDrink] = useState(false); //set prices const [price, setPrice] = useState(ItemOfIndex.prices[0]); return ( {descriptionDrink? ( {setDescriptionDrink(prev => !prev)}}> {ItemOfIndex.description} ) : ( {setDescriptionDrink(prev => !prev)}}> {ItemOfIndex.description} )} Size {ItemOfIndex.prices.map((data: any) => ( {setPrice(data)}} key={data.size} style={[styles.sizeBox, {borderColor: data.size == price.size ? '#DA7297' : 'gray', backgroundColor: data.size == price.size ? '#DA7297' : 'white'}]}> {data.size} ))} { addtoCartHandler({ id: ItemOfIndex.id, index: ItemOfIndex.index, name: ItemOfIndex.name, image_item: ItemOfIndex.image_item, type: ItemOfIndex.type, price: price, }) }} /> ) } export default DetailDrink const styles = StyleSheet.create({ sizeBox:{ flex: 1, alignItems: 'center', justifyContent: 'center', padding: 10, marginTop: 10, borderRadius: 5, borderWidth: 1 } })