|
|
|
@ -9,6 +9,7 @@ import Upload from "./Upload/index"; |
|
|
|
|
import Gender from "./GenderSwitch/index"; |
|
|
|
|
import Birthdate from "./Birthdate/index"; |
|
|
|
|
import MultipleSelector from "./MultipleSelector/index"; |
|
|
|
|
import Loader from "~/components/Loader/index"; |
|
|
|
|
|
|
|
|
|
import logo from "../../../assets/icons/logo.png"; |
|
|
|
|
import pic from "../../../assets/images/pic.png"; |
|
|
|
@ -30,6 +31,7 @@ const fontSize = { |
|
|
|
|
}; |
|
|
|
|
class Profile extends Component { |
|
|
|
|
state = { |
|
|
|
|
render: false, |
|
|
|
|
file: null, |
|
|
|
|
firstName: "", |
|
|
|
|
lastName: "", |
|
|
|
@ -66,9 +68,17 @@ class Profile extends Component { |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
componentDidMount() { |
|
|
|
|
async componentDidMount() { |
|
|
|
|
const { getProfile, profile } = this.props; |
|
|
|
|
// getProfile();
|
|
|
|
|
getProfile(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
componentDidUpdate(prevProps) { |
|
|
|
|
if (prevProps.profile !== this.props.profile) { |
|
|
|
|
this.setState({ |
|
|
|
|
render: true, |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
onSubmit = async (e) => { |
|
|
|
@ -103,6 +113,7 @@ class Profile extends Component { |
|
|
|
|
return ( |
|
|
|
|
<> |
|
|
|
|
{window.innerWidth > 1000 ? ( |
|
|
|
|
!this.props.loading ? ( |
|
|
|
|
<div className="auth-profile d-flex justify-content-center"> |
|
|
|
|
<div className="auth-profile__box d-flex flex-column p-4"> |
|
|
|
|
<h1 style={{ fontSize: fontSize.desktop.h1 }}>حساب کاربری</h1> |
|
|
|
@ -295,8 +306,12 @@ class Profile extends Component { |
|
|
|
|
</form> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
) : ( |
|
|
|
|
<Loader /> |
|
|
|
|
) |
|
|
|
|
) : null} |
|
|
|
|
{window.innerWidth < 1000 ? ( |
|
|
|
|
!this.props.loading ? ( |
|
|
|
|
<div className="mobile-auth-profile d-flex flex-column"> |
|
|
|
|
<img src={logo} alt="دانوین" /> |
|
|
|
|
<h1 style={{ fontSize: fontSize.mobile.h1 }}>حساب کاربری</h1> |
|
|
|
@ -308,19 +323,20 @@ class Profile extends Component { |
|
|
|
|
name="firstName" |
|
|
|
|
label="نام" |
|
|
|
|
parent={this} |
|
|
|
|
defaultValue={profile.firstName} |
|
|
|
|
defaultValue={profile} |
|
|
|
|
/> |
|
|
|
|
<Input |
|
|
|
|
name="lastName" |
|
|
|
|
label="نام خانوادگی" |
|
|
|
|
parent={this} |
|
|
|
|
defaultValue={profile.lastName} |
|
|
|
|
defaultValue={profile} |
|
|
|
|
/> |
|
|
|
|
<Input |
|
|
|
|
name="username" |
|
|
|
|
label="نام کاربری" |
|
|
|
|
parent={this} |
|
|
|
|
align="left" |
|
|
|
|
defaultValue={profile} |
|
|
|
|
/> |
|
|
|
|
<Gender |
|
|
|
|
options={["دختر", "پسر"]} |
|
|
|
@ -333,6 +349,7 @@ class Profile extends Component { |
|
|
|
|
label="کد ملی" |
|
|
|
|
parent={this} |
|
|
|
|
align="left" |
|
|
|
|
defaultValue={profile} |
|
|
|
|
/> |
|
|
|
|
<Birthdate /> |
|
|
|
|
<Gender |
|
|
|
@ -421,22 +438,41 @@ class Profile extends Component { |
|
|
|
|
label={"شهر/روستا"} |
|
|
|
|
/> |
|
|
|
|
{this.state.userRoleId === "دانش آموز" ? ( |
|
|
|
|
<Input parent={this} name="schoolId" label={"نام مدرسه"} /> |
|
|
|
|
<Input |
|
|
|
|
parent={this} |
|
|
|
|
name="schoolId" |
|
|
|
|
label={"نام مدرسه"} |
|
|
|
|
defaultValue={profile} |
|
|
|
|
/> |
|
|
|
|
) : null} |
|
|
|
|
{this.state.userRoleId === "معلم" ? ( |
|
|
|
|
<Input parent={this} name="schoolId" label={"محل تدریس"} /> |
|
|
|
|
<Input |
|
|
|
|
parent={this} |
|
|
|
|
name="schoolId" |
|
|
|
|
label={"محل تدریس"} |
|
|
|
|
defaultValue={profile} |
|
|
|
|
/> |
|
|
|
|
) : null} |
|
|
|
|
<Input |
|
|
|
|
parent={this} |
|
|
|
|
name="postalCode" |
|
|
|
|
label={"کد پستی"} |
|
|
|
|
align="left" |
|
|
|
|
defaultValue={profile} |
|
|
|
|
/> |
|
|
|
|
<TextArea parent={this} label={"آدرس محل سکونت"} name="address" /> |
|
|
|
|
<div className="mobile-auth-profile__footer d-flex justify-content-center"> |
|
|
|
|
<button onClick={() => this.onSubmit()}>ذخیره</button> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
) : ( |
|
|
|
|
<div |
|
|
|
|
className="d-flex justify-content-center align-items-center" |
|
|
|
|
style={{ height: "100vh", width: "100vw" }} |
|
|
|
|
> |
|
|
|
|
<Loader /> |
|
|
|
|
</div> |
|
|
|
|
) |
|
|
|
|
) : null} |
|
|
|
|
</> |
|
|
|
|
); |
|
|
|
@ -445,7 +481,8 @@ class Profile extends Component { |
|
|
|
|
|
|
|
|
|
export default connect( |
|
|
|
|
(state) => ({ |
|
|
|
|
profile: state.user.status.profile || {}, |
|
|
|
|
profile: state.user.status || {}, |
|
|
|
|
loading: state.user.loading, |
|
|
|
|
}), |
|
|
|
|
{ getProfile: user.getProfile, setProfile: user.setProfile } |
|
|
|
|
)(Profile); |
|
|
|
|