import { View, SafeAreaView, ScrollView, StyleSheet, StatusBar, Platform, Dimensions, Text, } from "react-native"; import React, { useEffect } from "react"; import { connect } from "react-redux"; import { userFactor, userAddress } from "../../redux/actions"; import { useNavigation } from "@react-navigation/native"; import { asyncAwesomeAlert } from "../../utils/AsyncWrappers"; import separate from "../../utils/separate"; //components import Navbar from "../../components/Navbar"; import TransportMethod from "./TransportMethod"; import TransportDate from "./TransportDate"; // import PaymentMethod from "./PaymentMethod"; import Address from "./Address"; import CustomPressable from "../../components/Pressable"; //style import tw from "tailwind-rn"; import Colors from "../../constants/Colors"; import fontSize from "../../constants/fontSize"; const { height } = Dimensions.get("window"); const PriceStatus = ({ name, value, type, theme }) => { return ( {name} {value} تومان ); }; const DeliveryForm = ({ list, form, getList, getFactorInfo, userId, payFactor, factorInfo, theme, user, }) => { const navigation = useNavigation(); useEffect(() => { getFactorInfo({ userId }); getList(); }, []); React.useEffect(() => { StatusBar.setBarStyle( `${theme === "light" ? "dark" : "light"}-content`, true ); }, [theme]); return (
{factorInfo?.transportId === 2 ? ( ) : null} جمع کل سبد خرید {separate(factorInfo?.payPrice)} تومان user?.postalCode && user?.phone ? factorInfo?.transportId && factorInfo?.userAddressId ? payFactor({ userId, clientUrl: "dnvn://" }) : asyncAwesomeAlert("خطا", "آدرس یا نحوه ارسال را وارد کنید", { showCancelButton: false, confirmText: "باشه", }) : asyncAwesomeAlert( "خطا", "اطلاعات حساب کاربری شما (مانند: شماره تلفن یا کد پستی) ناقص است.", { showCancelButton: true, confirmText: "رفتن به پروفایل", cancelText: "انصراف", onConfirm: () => navigation.navigate("CreateAddress", { type: "profile" }), } ) } /> ); }; const styles = StyleSheet.create({ contentContainerStyle: { paddingBottom: 100, }, container: { paddingVertical: 5, }, }); const mapStateToProps = (state) => ({ user: state.user.status, factorInfo: state.userFactor.info, userId: state.user.status?.id, list: state.userAddress.list, theme: state.publicApi.theme, }); const mapDispatchToProps = { getFactorInfo: userFactor.info, getList: userAddress.list, payFactor: userFactor.payment, }; export default connect(mapStateToProps, mapDispatchToProps)(DeliveryForm); DeliveryForm.defaultProps = { form: { transportDate: { day: new Date(), times: [ { time: "ساعت 9 تا 12", status: "completed", }, { time: "ساعت 12 تا 15", status: "free", }, { time: "ساعت 15 تا 18", status: "free", }, ], }, }, };