import {
View,
Text,
Pressable,
ActivityIndicator,
Platform,
} from "react-native";
import React, { useEffect, useCallback } from "react";
import { connect } from "react-redux";
import { transport } from "../../../redux/actions";
import separate from "../../../utils/separate";
//style
import tw from "tailwind-rn";
import Colors from "../../../constants/Colors";
import fontSize from "../../../constants/fontSize";
const ios = Platform.OS === "ios";
const TransportMethod = ({
list,
getList,
setTransport,
factorInfo,
userId,
loading,
mobile,
theme,
}) => {
useEffect(() => {
getList();
}, []);
const [selectedItem, setSelectedItem] = React.useState(null);
const light = React.useMemo(() => {
return theme === "light";
}, [theme]);
React.useEffect(() => {
if (!loading) {
setSelectedItem(null);
}
}, [loading]);
const Method = useCallback(
({ method, active }) => {
return (
{
setSelectedItem(method.id);
!active
? setTransport(
{ factorId: factorInfo?.id, transportId: method?.id },
{ userId },
{}
)
: {};
}}
>
{loading && selectedItem === method.id ? (
) : (
{method.name}
)}
{separate(method.price) + " " + "تومان"}
);
},
[factorInfo, loading]
);
return (
لطفا یک روش ارسال انتخاب کنید.
{factorInfo?.transports?.map((method, index) => (
))}
);
};
const mapStateToProps = (state) => ({
list: state.transport.list,
factorInfo: state.userFactor.info,
userId: state.user.status?.id,
loading: state.userFactor.loading,
mobile: state.publicApi.mobile,
theme: state.publicApi.theme,
});
const mapDispatchToProps = {
getList: transport.list,
setTransport: transport.set,
};
export default connect(mapStateToProps, mapDispatchToProps)(TransportMethod);