diff --git a/src/assets/img/tell-us-more.png b/src/assets/img/tell-us-more.png new file mode 100644 index 0000000..0200771 Binary files /dev/null and b/src/assets/img/tell-us-more.png differ diff --git a/src/component/profile_complete/ProfileCompleteCom.jsx b/src/component/profile_complete/ProfileCompleteCom.jsx index 31a95d9..c98c2d0 100644 --- a/src/component/profile_complete/ProfileCompleteCom.jsx +++ b/src/component/profile_complete/ProfileCompleteCom.jsx @@ -1,16 +1,16 @@ -import React, { useEffect, useMemo, useState } from "react"; +import React, {useEffect, useMemo, useState} from "react"; import BreadcrumbComBS from "../breadcrumb/BreadcrumbComBS"; // import { useLocation } from "react-router-dom"; // import { Form, Formik } from "formik"; import * as Yup from "yup"; -import { useMutation, useQuery } from "@tanstack/react-query"; +import {useMutation, useQuery} from "@tanstack/react-query"; import getImage from "../../utils/getImage"; -import { IoMdArrowDropdown } from "react-icons/io"; -import { completeProfile, getCommonPractice } from '../../services/services'; +import {IoMdArrowDropdown} from "react-icons/io"; +import {completeProfile, getCommonPractice} from '../../services/services'; import siteLinks from "../../links/siteLinks"; -import { useLocation, useNavigate } from "react-router-dom"; -import { updateUserDetails } from "../../store/UserDetails"; -import { useDispatch } from "react-redux"; +import {useLocation, useNavigate} from "react-router-dom"; +import {updateUserDetails} from "../../store/UserDetails"; +import {useDispatch} from "react-redux"; // const validationSchema = Yup.object().shape({ @@ -26,51 +26,53 @@ import { useDispatch } from "react-redux"; // }; -export default function ProfileCompleteCom(){ +export default function ProfileCompleteCom() { const dispatch = useDispatch() const navigate = useNavigate() - const {state:{redirectLink}} = useLocation() + const {state: {redirectLink}} = useLocation() const [practices, setPractices] = useState([]) - + const [initialValues, setInitialValues] = useState({ practice: '', specialization: '', introduction: '', }) - const specialties = useMemo(()=>{ // FUNCTION TO UPDATE SPECIALITY ARRAY EACH TIME PRACTICE CHANGES + const specialties = useMemo(() => { // FUNCTION TO UPDATE SPECIALITY ARRAY EACH TIME PRACTICE CHANGES setInitialValues(prev => ({...prev, specialization: ''})) - if(!initialValues.practice){ + if (!initialValues.practice) { return [] } const specialtiesArr = practices.filter(item => item.practice == initialValues.practice)[0]?.specialties return specialtiesArr - },[initialValues.practice]) + }, [initialValues.practice]) const mutation = useMutation({ mutationFn: (fields) => { const {practice, specialization} = fields - if(!practice || !specialization){ + if (!practice || !specialization) { throw new Error('Please select both practice and specialization fields') } return completeProfile(fields) }, onError: () => { - setTimeout(()=>{mutation.reset()}, 4000) + setTimeout(() => { + mutation.reset() + }, 4000) }, onSuccess: (res) => { - if(res.data.resultCode != '0'){ + if (res.data.resultCode != '0') { throw({message: res?.data?.resultDescription}) } - dispatch(updateUserDetails({profile_completed: res?.data?.profile_completed })); - setTimeout(()=>{ + dispatch(updateUserDetails({profile_completed: res?.data?.profile_completed})); + setTimeout(() => { navigate(redirectLink) - },2000) + }, 2000) // console.log('res', res) } }) @@ -79,11 +81,11 @@ export default function ProfileCompleteCom(){ mutationFn: (fields) => { return getCommonPractice(fields) }, - onError: ()=> { + onError: () => { setPractices([]) }, onSuccess: (res) => { - if(!res?.data){ + if (!res?.data) { return setPractices([]) } let returnPractices = Object.entries(res?.data).filter(([key, value]) => typeof value == 'object')?.map(item => item[1]) @@ -91,8 +93,8 @@ export default function ProfileCompleteCom(){ } }) - const handlePracticeChange = ({target:{name, value}}) => { - setInitialValues(prev => ({...prev, [name]:value})) + const handlePracticeChange = ({target: {name, value}}) => { + setInitialValues(prev => ({...prev, [name]: value})) } const handleCompleteProfile = () => { // FUNCTION TO COMPLETE PROFILE @@ -104,17 +106,17 @@ export default function ProfileCompleteCom(){ mutation.mutate(reqData) } - useEffect(()=>{ + useEffect(() => { let reqData = { token: localStorage.getItem('token'), // USER TOKEN uid: localStorage.getItem('uid') // USER UID } commonPractices.mutate(reqData) - },[]) + }, []) return <> - + {commonPractices?.isFetching ? <> @@ -130,87 +132,104 @@ export default function ProfileCompleteCom(){

{commonPractices?.error?.message}

- : -
-
-
- {/*
+ : +
+
+
+ {/*

My Product URLs

*/} - {/*
*/} -
-
- {/*
*/} + {/*
*/} +
+
+ {/*
*/} <>
-
+
{/* */} - - {practices.map((practice, index)=>( - + {practices.map((practice, index) => ( + ))} - +
- +
- - {specialties.map((specialty, index)=>( + {specialties.map((specialty, index) => ( ))} - +
- -