diff --git a/src/views/Address/index.js b/src/views/Address/index.js index aa10839..6845cf8 100644 --- a/src/views/Address/index.js +++ b/src/views/Address/index.js @@ -1,7 +1,13 @@ import React, { useState, useEffect } from "react"; import { connect } from "react-redux"; import { useNavigate, useLocation } from "react-router-dom"; -import { publicApi, userAddress, dialog, user } from "../../redux/actions"; +import { + publicApi, + userAddress, + dialog, + user, + dashboard, +} from "../../redux/actions"; import onInput from "../../utils/onInput"; import location from "../../utils/location"; @@ -33,18 +39,14 @@ export const Address = ({ isMobile, isDark, setDialog, - profilePage, editPage, - setProfileFields, - profileFields, - setProfile, - user, setHeaderOptions, headerOptions, getAddress, addressInfo, updateAddress, isDashboard, + setDashboardPage, }) => { const [addressFields, setAddressFields] = useState({}); const [mapAddress, setMapAddress] = useState(null); @@ -57,7 +59,7 @@ export const Address = ({ getProvince(); } if (isMobile) { - if (editPage || profilePage) { + if (editPage) { setHeaderOptions(headerOptions); } else { setHeaderOptions({ @@ -106,61 +108,10 @@ export const Address = ({ } }, [addressFields]); - useEffect(() => { - if (profileFields?.provinceId) { - getCity({ - provinceId: profileFields?.provinceId, - }); - } - }, [profileFields]); - const onChange = (name, value) => { setAddressFields({ ...addressFields, [name]: value }); }; - const submitProfile = () => { - if (user.cellphone && user.cellphone.length < 11) { - setDialog({ - text: window.t("شماره موبایل خود را وارد کنید."), - type: "alert", - accept: () => {}, - open: true, - }); - return; - } - const postalCode = profileFields?.postalCode || user.postalCode; - if (postalCode && postalCode.length < 10) { - setDialog({ - text: window.t("شماره کد پستی خود را وارد کنید."), - type: "alert", - accept: () => {}, - open: true, - }); - return; - } - const data = { - firstName: profileFields?.firstName || user.firstName, - lastName: profileFields?.lastName || user.lastName, - username: profileFields?.username || user.username, - cellphone: user.cellphone, - password: profileFields?.password || user.password, - postalCode, - address: profileFields?.address || user.address, - email: profileFields?.email || user.email, - phone: profileFields?.phone || user.phone, - nationalId: profileFields?.nationalId || user.nationalId, - picFileId: profileFields?.picFileId || user.picFileId, - gender: profileFields?.gender || user.gender, - birthDate: profileFields?.birthDate || user.birthDate, - schools: profileFields?.schools || user.schools, - gradeIds: profileFields?.gradeIds || user.gradeIds, - provinceId: profileFields?.provinceId || user.provinceId, - cityId: profileFields?.cityId || user.cityId, - docFileIds: profileFields?.docFileIds || user.docFileIds, - }; - setProfile(data); - }; - const [activeCheckbox, setActiveCheckbox] = useState(true); const submit = () => { @@ -300,107 +251,101 @@ export const Address = ({ return (
- {!profilePage && ( -
- onInput.numberOnly(val)} - name="address" - onChange={(name, value) => setMapAddress(value)} - value={mapAddress} - align="text-right" - direction="rtl" - /> -
- setMapAddress(val)} /> -
-
-
- -
+ } + }} + > + {window.t("بازگشت")} + +
- )} +
-
- {!profilePage && ( - <> -
- {/* my self */} -
+
+ {/* my self */} +
{ - setActiveCheckbox(true); - }} - > -
-
-
-

{window.t("برای خودم")}

-
- {/* someone else */} + onClick={() => { + setActiveCheckbox(true); + }} + > +
+
+

{window.t("برای خودم")}

+
+ {/* someone else */} +
{ - setActiveCheckbox(false); - }} - > -
-
-
-

- {window.t("گیرنده فرد دیگری است")} -

-
+ onClick={() => { + setActiveCheckbox(false); + }} + > +
+
- - )} +

+ {window.t("گیرنده فرد دیگری است")} +

+
+
- {profilePage || activeCheckbox === false ? ( + {activeCheckbox === false ? ( <>
val} name="firstName" - onChange={(name, value) => - profilePage - ? setProfileFields({ ...profileFields, firstName: value }) - : onChange(name, value) - } - value={ - profilePage - ? profileFields.firstName || user.firstName - : addressFields?.firstName - } + onChange={(name, value) => onChange(name, value)} + value={addressFields?.firstName} align="text-right" direction="rtl" /> @@ -434,16 +371,8 @@ export const Address = ({ label={window.t("نام خانوادگی")} regex={(val) => val} name="lastName" - onChange={(name, value) => - profilePage - ? setProfileFields({ ...profileFields, lastName: value }) - : onChange(name, value) - } - value={ - profilePage - ? profileFields.lastName || user.lastName - : addressFields?.lastName - } + onChange={(name, value) => onChange(name, value)} + value={addressFields?.lastName} align="text-right" direction="rtl" /> @@ -462,11 +391,7 @@ export const Address = ({ label={window.t("شماره موبایل")} regex={(val) => onInput.phonenumber(val)} name="cellphone" - value={ - profilePage - ? profileFields.cellphone || user.cellphone - : addressFields?.cellphone - } + value={addressFields?.cellphone} onChange={(name, value) => onChange(name, value)} align="text-right" direction="ltr" @@ -477,16 +402,8 @@ export const Address = ({ label={window.t("شماره تلفن")} regex={(val) => onInput.numberOnly(val)} name="phone" - value={ - profilePage - ? profileFields.phone || user.phone - : addressFields?.phone - } - onChange={(name, value) => - profilePage - ? setProfileFields({ ...profileFields, phone: value }) - : onChange(name, value) - } + value={addressFields?.phone} + onChange={(name, value) => onChange(name, value)} align="text-right" direction="ltr" maxLength={11} @@ -507,17 +424,9 @@ export const Address = ({ selectProvince={"استان"} options={provinces.map((e) => ({ value: e.id, name: e.name }))} name="provinceId" - defaultValue={ - profilePage - ? profileFields.provinceId || provinces[0]?.id - : provinces[0]?.id - } + defaultValue={provinces[0]?.id} onChange={(name, value) => - value === window.t("استان") - ? {} - : profilePage - ? setProfileFields({ ...profileFields, provinceId: value }) - : onChange(name, value) + value === window.t("استان") ? {} : onChange(name, value) } width={isMobile ? "w-full" : "w-1/2"} backgroundColor={ @@ -530,17 +439,9 @@ export const Address = ({ selectProvince={"شهر"} options={cities.map((e) => ({ value: e.id, name: e.name }))} name="cityId" - defaultValue={ - profilePage - ? profileFields.cityId || cities[0]?.id - : cities[0]?.id - } + defaultValue={cities[0]?.id} onChange={(name, value) => - value === window.t("شهر") - ? {} - : profilePage - ? setProfileFields({ ...profileFields, cityId: value }) - : onChange(name, value) + value === window.t("شهر") ? {} : onChange(name, value) } width={isMobile ? "w-full" : "w-1/2"} backgroundColor={ @@ -567,16 +468,8 @@ export const Address = ({ label={window.t("کد پستی")} regex={(val) => onInput.numberOnly(val)} name="postalCode" - value={ - profilePage - ? profileFields.postalCode || user.postalCode - : addressFields?.postalCode - } - onChange={(name, value) => - profilePage - ? setProfileFields({ ...profileFields, postalCode: value }) - : onChange(name, value) - } + value={addressFields?.postalCode} + onChange={(name, value) => onChange(name, value)} align="text-right" direction="ltr" maxLength={10} @@ -584,41 +477,35 @@ export const Address = ({
-
+
- )} + } + }} + > + {window.t("بازگشت")} + +
@@ -635,7 +522,6 @@ const mapStateToProps = (state) => ({ cityLoading: state.publicApi.loading, isMobile: state.config.device === "mobile", isDark: state.publicApi.isDark, - profileFields: state.user.profileFields, addressInfo: state.userAddress.info, }); @@ -646,9 +532,8 @@ const mapDispatchToProps = { updateAddress: userAddress.update, getAddress: userAddress.info, setDialog: dialog.set, - setProfileFields: user.setProfileFields, - setProfile: user.setProfile, setHeaderOptions: publicApi.setHeaderOptions, + setDashboardPage: dashboard.setPage, }; export default connect(mapStateToProps, mapDispatchToProps)(Address);