Obanana_test/app/components/cart/CartCard.jsx

74 lines
1.7 KiB
React
Raw Normal View History

2023-09-26 14:33:01 +08:00
import React from "react";
import { View, Text, StyleSheet } from "react-native";
import CartSubCard from "./CartSubCard";
import MasonryList from "@react-native-seoul/masonry-list";
2024-02-12 08:58:57 +08:00
import Checkbox from "expo-checkbox";
2023-09-26 14:33:01 +08:00
2024-02-12 08:58:57 +08:00
const CartCard = ({ cart, shopLike, shopProdLike, index, quantityChange,q }) => {
2023-09-26 14:33:01 +08:00
return (
<View style={styles.container}>
2024-02-12 08:58:57 +08:00
<View style={styles.heart}>
<Checkbox
value={cart?.selected}
onValueChange={() => shopLike(index)}
/>
<Text style={styles.header}>{cart?.shopname}</Text>
</View>
{/* {cart ? ( */}
2023-09-26 14:33:01 +08:00
<MasonryList
data={cart?.cartItems}
keyExtractor={(item) => item.id}
style={styles.list}
numColumns={1}
showsVerticalScrollIndicator={false}
2024-02-12 08:58:57 +08:00
renderItem={({ item, i }) => (
<CartSubCard
shopProdLike={shopProdLike}
shopIndex={index}
index={i}
cart={item ? item : []}
quantityChange={quantityChange}
q={q}
/>
)}
2023-09-26 14:33:01 +08:00
containerStyle={styles.container1}
contentContainerStyle={styles.content}
onEndReachedThreshold={0.1}
/>
2024-02-12 08:58:57 +08:00
{/* ) : null} */}
2023-09-26 14:33:01 +08:00
</View>
);
};
const styles = StyleSheet.create({
container: {
margin: 5,
borderRadius: 6,
borderColor: "#dddd",
borderWidth: 1,
overflow: "hidden",
padding: 10,
2024-02-12 08:58:57 +08:00
backgroundColor: "#fafafa",
},
heart: {
width: "100%",
flexDirection: "row",
2023-09-26 14:33:01 +08:00
},
header: {
// position: "fixed",
fontWeight: "600",
width: "100%",
top: 0,
2024-02-12 08:58:57 +08:00
marginLeft: 15,
2023-09-26 14:33:01 +08:00
},
footer: {
// position: "absolute",
bottom: 0,
width: "100%",
},
wrapper: {
height: "85%",
},
});
export default CartCard;