import { View, Text, TouchableOpacity, StyleSheet, TextInput } from "react-native"; import useCreateOrderStore from "../../store/createOrder"; import BackIcon from "../../components/BackIcon"; import { useNavigation } from "@react-navigation/native"; import { useState, useEffect } from "react"; export const PreviewOrder = () => { const {orderData, setOrderData} = useCreateOrderStore(); const navigation = useNavigation(); const [phoneNumber, setPhoneNumber] = useState(""); const [showPhoneInput, setShowPhoneInput] = useState(false); useEffect(() => { if (orderData?.payment_method === "Brainnel Pay(Mobile Money)") { setShowPhoneInput(true); } else { setShowPhoneInput(false); } }, [orderData?.payment_method]); const handleSubmit = () => { if (showPhoneInput && !phoneNumber) { // Show error or alert if needed console.log("Phone number is required for Mobile Money"); return; } if (showPhoneInput) { setOrderData({ ...orderData, mobile_money_phone: phoneNumber }); } console.log("orderData", orderData); // Add your submission logic here } return ( navigation.goBack()}> 立即支付 {/* Payment Details */} {showPhoneInput && ( 请输入手机号码 )} {/* Order Details Card */} 订单详情 收货地址: {orderData?.address || "请选择地址"} 订单金额: {orderData?.amount ? `${orderData.currency || ''} ${orderData.amount}` : "N/A"} 运费: {orderData?.shipping_fee ? `${orderData.currency || ''} ${orderData.shipping_fee}` : "N/A"} {orderData?.whatsapp_phone && ( WhatsApp: {orderData.whatsapp_phone} )} 确认支付 ); }; const styles = StyleSheet.create({ container: { flex: 1, backgroundColor: "white", }, submitButtonContainer: { paddingRight: 11, paddingLeft: 11, marginTop: 20, marginBottom: 20, }, primaryButtonStyle: { width: "100%", height: 50, justifyContent: "center", alignItems: "center", fontWeight: "600", fontSize: 16, lineHeight: 22, fontFamily: "PingFang SC", color: "white", backgroundColor: "#002fa7", borderWidth: 0, borderRadius: 25, }, buttonText: { color: "white", fontWeight: "600", fontSize: 16, lineHeight: 22, fontFamily: "PingFang SC", }, selectedCountryText: { padding: 0, margin: 0, fontWeight: "500", fontSize: 16, lineHeight: 22, fontFamily: "PingFang SC", color: "#646472", }, disabledButtonStyle: { backgroundColor: "#ccc", }, titleContainer: { width: "100%", padding: 15, flexDirection: "row", alignItems: "center", justifyContent: "center", position: "relative", backgroundColor: "#fff", }, backIconContainer: { position: "absolute", left: 15, backgroundColor: "#fff", }, titleHeading: { fontWeight: "600", fontSize: 20, lineHeight: 22, fontFamily: "PingFang SC", color: "black", }, // Order Summary Styles section: { backgroundColor: "#fff", borderRadius: 8, paddingHorizontal: 15, marginTop: 15, paddingVertical: 12, }, sectionTitle: { fontWeight: "600", fontSize: 16, marginBottom: 8, color: "#333", }, paymentMethod: { fontSize: 15, color: "#666", marginBottom: 10, }, phoneInputContainer: { marginTop: 10, marginBottom: 10, }, phoneInputLabel: { fontSize: 14, color: "#333", marginBottom: 5, }, phoneInput: { borderWidth: 1, borderColor: "#ccc", borderRadius: 8, padding: 10, fontSize: 16, backgroundColor: "#f9f9f9", }, // Card styles for order details card: { backgroundColor: "#ffffff", // White background for the card borderRadius: 12, // Rounded corners marginHorizontal: 15, // Horizontal margin marginTop: 20, // Margin from the top element padding: 18, // Inner padding shadowColor: "#000", // Shadow for depth shadowOffset: { width: 0, height: 2, }, shadowOpacity: 0.1, shadowRadius: 3.84, elevation: 5, // Elevation for Android }, cardTitle: { fontSize: 18, fontWeight: "bold", color: "#333333", marginBottom: 15, // Space below the title fontFamily: "PingFang SC", }, detailRow: { flexDirection: "row", justifyContent: "space-between", alignItems: "flex-start", // Align items to the start for multi-line values paddingVertical: 8, // Vertical padding for each row borderBottomWidth: 1, borderBottomColor: "#f0f0f0", // Lighter separator line }, detailLabel: { fontSize: 15, color: "#555555", // Slightly lighter label color fontFamily: "PingFang SC", fontWeight: '500', marginRight: 10, // Space between label and value }, detailValue: { fontSize: 15, color: "#333333", // Darker value color fontFamily: "PingFang SC", textAlign: 'right', flexShrink: 1, // Allow text to shrink and wrap }, });