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("ویرایش")}
delAddress(address.id)}
>
);
};
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);