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 && (
آدرس انتخابی شما
فعال
)}
{"آدرس:" + " " + address.address}
{"نام:" + " " + address.firstName + " " + address.lastName}
{"کد پستی:" + " " + address.postalCode}
{"شماره تماس:" + " " + address.cellphone}
{!active && (
)}
);
};
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);