Merge branch 'wallet-styles' of WrenchBoard/Users-Wrench into master
This commit is contained in:
@@ -1,13 +1,11 @@
|
||||
import React, { useEffect, useState } from "react";
|
||||
import { useSelector } from "react-redux";
|
||||
import { Link, useNavigate } from "react-router-dom";
|
||||
import { useNavigate } from "react-router-dom";
|
||||
import usersService from "../../../services/UsersService";
|
||||
import Icons from "../../Helpers/Icons";
|
||||
import InputCom from "../../Helpers/Inputs/InputCom";
|
||||
import LoadingSpinner from "../../Spinners/LoadingSpinner";
|
||||
|
||||
import { toast } from "react-toastify";
|
||||
|
||||
import { Form, Formik } from "formik";
|
||||
import * as Yup from "yup";
|
||||
|
||||
@@ -60,8 +58,6 @@ export default function PersonalInfoTab({
|
||||
|
||||
let navigate = useNavigate();
|
||||
|
||||
let [togglePromotion, setTogglePromotion] = useState(false);
|
||||
|
||||
const initialValues = {
|
||||
firstname: userDetails?.firstname,
|
||||
lastname: userDetails?.lastname,
|
||||
@@ -69,6 +65,10 @@ export default function PersonalInfoTab({
|
||||
city: userDetails?.city,
|
||||
email: userDetails?.email,
|
||||
profile: userDetails?.profile_pic,
|
||||
pref_email: 0,
|
||||
pref_phone: 0,
|
||||
accept_promo: false,
|
||||
online_name: userDetails?.username
|
||||
};
|
||||
|
||||
let [profile, setProfile] = useState({
|
||||
@@ -90,8 +90,14 @@ export default function PersonalInfoTab({
|
||||
// there is no profile accommodation on the payload
|
||||
delete values?.profile;
|
||||
|
||||
const reqData = {
|
||||
...values,
|
||||
pref_email: Number(values.pref_email?.toString()),
|
||||
pref_phone: Number(values.pref_phone?.toString()),
|
||||
};
|
||||
|
||||
apiCall
|
||||
.updateProfile(values)
|
||||
.updateProfile(reqData)
|
||||
.then((res) => {
|
||||
// API CALL TO UPDATE USER DETAILS
|
||||
if (res.data.internal_return < 0) {
|
||||
@@ -102,10 +108,14 @@ export default function PersonalInfoTab({
|
||||
});
|
||||
return;
|
||||
}
|
||||
// setRequestState({message: 'Profile update successfully', loading: false, status: true})
|
||||
toast.success("Update Successful");
|
||||
setRequestState({
|
||||
message: "Profile update successfully",
|
||||
loading: false,
|
||||
status: true,
|
||||
});
|
||||
// toast.success("Update Successful");
|
||||
setTimeout(() => {
|
||||
// navigate("/", { replace: true });
|
||||
navigate("/", { replace: true });
|
||||
window.location.reload(true);
|
||||
}, 1000);
|
||||
})
|
||||
@@ -146,12 +156,12 @@ export default function PersonalInfoTab({
|
||||
<div className="field w-full mb-6">
|
||||
<InputCom
|
||||
fieldClass="px-6"
|
||||
label="User Name"
|
||||
label="User Name (change if it's an email)"
|
||||
type="text"
|
||||
name="username"
|
||||
placeholder=""
|
||||
value={userDetails.username}
|
||||
disable={true}
|
||||
name="online_name"
|
||||
placeholder="Username"
|
||||
value={props.values.online_name}
|
||||
inputHandler={props.handleChange}
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -267,13 +277,17 @@ export default function PersonalInfoTab({
|
||||
Pref. Communication
|
||||
</label>
|
||||
<div className="check-box">
|
||||
<div className="flex items-center justify-start">
|
||||
<div
|
||||
role="group"
|
||||
className="flex items-center justify-start"
|
||||
>
|
||||
<div className="check-input flex items-center mr-1">
|
||||
<input
|
||||
className="w-4 h-4 cursor-pointer"
|
||||
type="checkbox"
|
||||
name="prefcomm1"
|
||||
id=""
|
||||
name="pref_email"
|
||||
value={1}
|
||||
onChange={props.handleChange}
|
||||
/>
|
||||
<span className="mx-2 text-base text-dark-gray dark:text-white">
|
||||
Email
|
||||
@@ -283,8 +297,9 @@ export default function PersonalInfoTab({
|
||||
<input
|
||||
className="w-4 h-4 cursor-pointer"
|
||||
type="checkbox"
|
||||
name="prefcomm2"
|
||||
id=""
|
||||
name="pref_phone"
|
||||
value={1}
|
||||
onChange={props.handleChange}
|
||||
/>
|
||||
<span className="mx-2 text-base text-dark-gray dark:text-white">
|
||||
Phone
|
||||
@@ -296,22 +311,32 @@ export default function PersonalInfoTab({
|
||||
|
||||
{/* Allow Promotions */}
|
||||
<div className="field w-full mb-6 flex items-center space-x-4">
|
||||
<label className="input-label text-[#181c32] dark:text-white text-base font-semibold">
|
||||
<label
|
||||
htmlFor="accept_promo"
|
||||
className="input-label text-[#181c32] dark:text-white text-base font-semibold"
|
||||
>
|
||||
Allow Promotions
|
||||
</label>
|
||||
<div
|
||||
className="cursor-pointer flex items-center"
|
||||
onClick={() => setTogglePromotion((prev) => !prev)}
|
||||
>
|
||||
<div
|
||||
className={`h-6 w-8 mr-1 p-1 ${
|
||||
togglePromotion
|
||||
<div>
|
||||
<input
|
||||
type="checkbox"
|
||||
id="accept_promo"
|
||||
name="accept_promo"
|
||||
value={props.values.accept_promo}
|
||||
checked={props.values.accept_promo}
|
||||
onChange={props.handleChange}
|
||||
className="hidden"
|
||||
/>
|
||||
<label
|
||||
htmlFor="accept_promo"
|
||||
className={`cursor-pointer flex items-center h-6 w-8 mr-1 p-1 ${
|
||||
props.values.accept_promo
|
||||
? "bg-sky-blue flex justify-end items-center"
|
||||
: "bg-slate-200"
|
||||
} rounded-full transition`}
|
||||
} rounded-full transition duration-200`}
|
||||
>
|
||||
<div className="w-4 h-full bg-white rounded-full"></div>
|
||||
</div>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
{/* inputs ends here */}
|
||||
@@ -388,7 +413,6 @@ export default function PersonalInfoTab({
|
||||
)}
|
||||
<div className="w-full h-[120px] border-t border-light-purple dark:border-[#5356fb29] flex justify-end items-center">
|
||||
<div className="flex items-center space-x-4 mr-9">
|
||||
|
||||
{/* <Link
|
||||
to="/"
|
||||
className="text-18 text-light-red tracking-wide "
|
||||
|
||||
Reference in New Issue
Block a user