added page for profile complete

This commit was merged in pull request #65.
This commit is contained in:
victorAnumudu
2025-08-12 19:51:13 +01:00
parent f450d0e868
commit 21463ed501
6 changed files with 134 additions and 6 deletions
@@ -3,6 +3,7 @@ import { useMutation } from "@tanstack/react-query";
import { pageSettings } from "../../../services/services";
import SiteTemplateSelector from './SiteTemplateSelector';
import NoYesBooleanDropdown from './NoYesBooleanDropdown';
import { IoMdArrowDropdown } from 'react-icons/io';
const GeneralTab = memo(({name='Full Name', data, isCustom, productData, backendValues, setFieldsChanged}) =>{
@@ -83,11 +84,14 @@ const GeneralTab = memo(({name='Full Name', data, isCustom, productData, backend
<textarea name={fieldName} rows={5} style={{resize: 'none'}} type="text" className="form-control" id={key} value={fieldValue} onChange={handleChange} />
: value.controls == 'SELECT_NO_YES' ?
// <NoYesBooleanDropdown name={fieldName} value={fieldValue} onChange={handleChange} />
<select onChange={handleChange} name={fieldName} value={fieldValue} className="form-control">
<option value=''>Select</option>
<option value='0'>No</option>
<option value='1'>Yes</option>
</select>
<div className='position-relative'>
<select onChange={handleChange} name={fieldName} value={fieldValue} className="form-control">
<option value=''>Select</option>
<option value='0'>No</option>
<option value='1'>Yes</option>
</select>
<IoMdArrowDropdown className='position-absolute w-auto' style={{top: '50%', right: '2px', transform: 'translateY(-50%)'}} />
</div>
:
null
}
@@ -0,0 +1,99 @@
import React, { useEffect } 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 } from "@tanstack/react-query";
const validationSchema = Yup.object().shape({
username: Yup.string().min(3, "Minimum 3 characters").max(50, "Maximum 50 characters").required("Email is required"),
})
const initialValues = {
username: '',
};
export default function HomeSections(){
const {state:{profile_completed}} = useLocation()
const mutation = useMutation({
mutationFn: (fields) => {
return ()=>{}
},
onSuccess: (res) => {
console.log('res', res)
}
})
const handleCompleteProfile = (values, helpers) => {
// helpers.resetForm()
console.log('values', values, helpers)
// mutation.mutate(values)
}
return <>
<BreadcrumbComBS title='Update Profile' paths={['Dashboard', 'Profile']} />
<div className="row">
<div className="col-xxl-6 m-b-30">
<div className="card card-statistics h-100 mb-0" style={{minHeight: '100px'}}>
{/* <div className="card-header d-flex align-items-center justify-content-between">
<div className="card-heading">
<h4 className="card-title">My Product URLs</h4>
</div>
</div> */}
</div>
</div>
<div className="col-xxl-6 m-b-30">
<div className="card card-statistics h-100 mb-0">
{/* <div className="card-header d-flex align-items-center justify-content-between">
<div className="card-heading">
<h4 className="card-title">My Product URLs</h4>
</div>
</div> */}
{/* <div style={{minHeight: '400px'}}></div> */}
<div className="card-body">
<Formik
initialValues={initialValues}
validationSchema={validationSchema}
onSubmit={handleCompleteProfile}
>
{(props) => {
return (
<Form className=''>
<div className="row">
<>
<div className="col-12">
<div className="form-group">
<label className={`text-black fw-bold control-label ${(props.errors.username && props.touched.username) && 'text-danger'}`}>Username*</label>
<input type="username" name='username' className="form-control" placeholder="Username" value={props.values.username} onChange={props.handleChange} />
</div>
</div>
{/* {cSignup.error &&
<>
<div className="col-12">
<p className='text-danger'>{cSignup.error.message}</p>
</div>
</>
} */}
<div className="col-12 mt-3 text-end">
<button type='submit' className="btn btn-primary text-uppercase">{false ? 'loading...' : 'Continue'}</button>
</div>
</>
</div>
</Form>
);
}}
</Formik>
</div>
</div>
</div>
</div>
</>;
}