import React, { useEffect } from "react"; import { connect } from "react-redux"; import { userAddress, userFactor, dialog, menu, } from "../../../../../redux/actions"; import Loading from "../../../../../components/Loading"; //components import Button from "../../../../../components/Button"; import { Link, useNavigate } from "react-router-dom"; import editButton from "../../../../../assets/icons/edit.svg"; import trash from "../../../../../assets/icons/trash.svg"; import Empty from "../../../../../components/Empty"; import FloatingButton from "../../../../../components/FloatingButton"; const ProfileAddress = ({ addresses, update, getList, userId, userAddressId, getFactorInfo, loading, setPhase, isMobile, isDark, setMenu, setDialog, deleteAddress, }) => { const navigation = useNavigate(); React.useEffect(() => { getFactorInfo({ userId }); getList(); }, []); useEffect(() => { // alert(); window.scrollTo(0, 0); }, []); return (
{addresses.map((address, index) => ( ))}
); }; const Location = ({ address, active, userId, isDark, update, setMenu, setDialog, deleteAddress, userAddressId, loading, menu, }) => { 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: window.t("آدرس رو حذف کنیم؟"), type: "confirm", accept: () => deleteAddress({ id }), open: true, }); }; const clickOnMenu = (e) => { setLocationMenu(true); e.stopPropagation(); }; return (
active ? {} : update({ userAddressId: address.id, userId }) } >
{loading && userAddressId !== address?.id ? ( ) : (
)}
{active && (
{window.t("آدرس انتخابی شما")} {window.t("فعال")}
)}
{window.t("آدرس") + " " + address.address} {window.t("نام") + " " + address.firstName + " " + address.lastName} {window.t("کد پستی:") + " " + address.postalCode} {window.t("شماره تماس:") + " " + address.cellphone}
{/* edit / delete button */}
setMenu()} > {window.t("ویرایش")} edit-address
delAddress(address.id)} > delete-address
); }; const mapStateToProps = (state) => ({ userId: state.user.status?.id, userAddressId: state.userFactor.info?.userAddressId, addresses: state.userAddress.list, isMobile: state.publicApi.isMobile, isDark: state.publicApi.isDark, loading: state.userFactor.loading, }); const mapDispatchToProps = { getFactorInfo: userFactor.info, update: userFactor.update, getList: userAddress.list, deleteAddress: userAddress.del, setMenu: menu.set, setDialog: dialog.set, }; export default connect(mapStateToProps, mapDispatchToProps)(ProfileAddress);