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";
// 假设的图标组件 - 请替换为您的实际图标
const AddressIcon = ({ size, color }) => 📍; // 示例图标
const AmountIcon = ({ size, color }) => 💰; // 示例图标
const ShippingIcon = ({ size, color }) => 🚚; // 示例图标
const WhatsAppIcon = ({ size, color }) => 💬; // 示例图标
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", // Removed, will inherit from section or be transparent
// borderRadius: 12, // Removed rounded corners
// marginHorizontal: 15, // Removed to align with parent section padding
marginTop: 10, // Adjusted margin from the top element
// padding: 18, // Removed inner padding, rely on section or detailRow padding
// shadowColor: "#000", // Removed shadow
// shadowOffset: {
// width: 0,
// height: 2,
// },
// shadowOpacity: 0.1,
// shadowRadius: 3.84,
// elevation: 5, // Removed elevation
// borderWidth: 1, // Removed border
// borderColor: "#e0e0e0", // Removed border color
},
cardTitle: {
fontSize: 18,
fontWeight: "bold",
color: "#333333",
marginBottom: 15, // Space below the title
fontFamily: "PingFang SC",
},
detailRow: {
flexDirection: "row",
// justifyContent: "space-between", // We'll handle spacing differently with icons
alignItems: "center", // Align items vertically centered
paddingVertical: 10, // Adjusted vertical padding
borderBottomWidth: 1,
borderBottomColor: "#f0f0f0", // Lighter separator line
},
detailLabel: {
fontSize: 15,
color: "#555555", // Slightly lighter label color
fontFamily: "PingFang SC",
fontWeight: '500',
marginLeft: 8, // Add margin to the left of the label, after the icon
marginRight: 10, // Space between label and value
flex: 1, // Allow label to take available space before value
},
detailValue: {
fontSize: 15,
color: "#333333", // Darker value color
fontFamily: "PingFang SC",
textAlign: 'right',
flexShrink: 1, // Allow text to shrink and wrap
},
});