import React from "react"; import { connect } from "react-redux"; import { userAddress, userFactor, publicApi, menu, dialog, } from "../../../../../redux/actions"; import { Link, useNavigate } from "react-router-dom"; //components import Empty from "../../../../../components/Empty"; import Button from "../../../../../components/Button"; import FloatingButton from "../../../../../components/FloatingButton"; import { add } from "lodash"; const ProfileAddress = ({ addresses, update, getList, userId, userAddressId, getFactorInfo, loading, closeBottomSheet, mobile, isMobile, isDark, headerOptions, setHeaderOptions, setMenu, menu, deleteAddress, setDialog, }) => { const navigation = useNavigate(); React.useEffect(() => { setHeaderOptions(headerOptions); getFactorInfo({ userId }); getList(); }, []); return (
{addresses.length > 0 ? (
{addresses.map((address, index) => ( ))}
) : ( )} {/* navigation("/createAddress")} position={{ bottom: 100, right: 16 }} size={16} /> */} navigation("/createAddress", { state: { panel: true } })} // action={() => {}} position={{ bottom: 100, left: 16 }} />
); }; const Location = ({ address, active, isDark, userId, update, setMenu, menu, deleteAddress, setDialog, }) => { const [locationMenu, setLocationMenu] = React.useState(false); React.useEffect(() => { if (locationMenu) { setMenu(); } }, [locationMenu]); React.useEffect(() => { if (!menu) { setLocationMenu(false); } }, [menu]); const delAddress = (id) => { setMenu(); setDialog({ text: "آدرس رو حذف کنیم؟", type: "confirm", accept: () => deleteAddress({ id }), open: true, }); }; const clickOnMenu = (e) => { setLocationMenu(true); e.stopPropagation(); }; return (
active ? {} : update({ userAddressId: address.id, userId }) } >
e.stopPropagation()} > setMenu()} > ویرایش
{active && (
آدرس انتخابی شما فعال
clickOnMenu(e)} >
)}
{"آدرس:" + " " + address.address} {"نام:" + " " + address.firstName + " " + address.lastName} {"کد پستی:" + " " + address.postalCode} {"شماره تماس:" + " " + address.cellphone}
{!active && ( clickOnMenu(e)} > )}
); }; const mapStateToProps = (state) => ({ userId: state.user.status?.id, userAddressId: state.userFactor.info?.userAddressId, loading: state.userFactor.loading, addresses: state.userAddress.list, mobile: state.publicApi.mobile, isDark: state.publicApi.isDark, menu: state.menu.open, }); const mapDispatchToProps = { getFactorInfo: userFactor.info, update: userFactor.update, getList: userAddress.list, setHeaderOptions: publicApi.setHeaderOptions, setMenu: menu.set, deleteAddress: userAddress.del, setDialog: dialog.set, }; export default connect(mapStateToProps, mapDispatchToProps)(ProfileAddress);