diff --git a/src/components/ProfileComp/BestScore/BestScore.js b/src/components/ProfileComp/BestScore/BestScore.js
index 5c589ae..f77f1e3 100644
--- a/src/components/ProfileComp/BestScore/BestScore.js
+++ b/src/components/ProfileComp/BestScore/BestScore.js
@@ -1,17 +1,41 @@
-import React from 'react';
+import React, { useEffect, useState } from 'react';
import Style from './BestScore.module.css';
import { Box, Stack } from '@mui/system';
import { NavLink } from 'react-router-dom';
import { Zoom } from 'react-awesome-reveal';
+import { getBestScore } from '../../../repositories/ProfileRepo';
+import MPopUp from '../../PopUp_Message/error/MPopUp';
export default function BestScore() {
+
+ const [bestScore , setBestScore] = useState(0) ;
+ const [popup , setPopup] = useState(null) ;
+
+ useEffect(() => {
+ async function BestScore(){
+ var result = await getBestScore() ;
+ if(!result.isError){
+ setBestScore(result.body.results) ;
+ }else{
+ setPopup(Something Wrong);
+ setBestScore(0) ;
+ }
+ }
+ BestScore() ;
+ })
+
+
+
+
return (
- 374
+
+ {bestScore}
+
is your total score
Best Score
diff --git a/src/components/ProfileComp/Informations/Informations.js b/src/components/ProfileComp/Informations/Informations.js
index 40258f4..c4c93b8 100644
--- a/src/components/ProfileComp/Informations/Informations.js
+++ b/src/components/ProfileComp/Informations/Informations.js
@@ -1,17 +1,20 @@
import React from 'react';
import Style from './Informations.module.css';
-import { Box , Stack } from '@mui/system';
+import { Box, Stack } from '@mui/system';
import ProfileImg from '../../../images/Pngs/Profile2.png';
import { Form, Formik } from 'formik';
import { useState } from 'react';
-
import CreateIcon from '@mui/icons-material/Create';
import CheckIcon from '@mui/icons-material/Check';
import { Zoom } from 'react-awesome-reveal';
+import { getUserInfo, editUserInfo } from '../../../repositories/ProfileRepo';
+import { useEffect } from 'react';
+import MPopUp from "../../PopUp_Message/error/MPopUp";
export default function Informations() {
-
+ const [popup , setPopup] = useState(null)
+
const [fullName, setFullName] = useState("Basem Moahmed");
const [editName, setEditName] = useState(false);
@@ -35,11 +38,38 @@ export default function Informations() {
setAddress(event.target.value);
};
- const onSave = (values, { resetEdit }) => {
+ const onSave = async (values, { resetEdit }) => {
console.log(values);
- resetEdit({ values: "" });
+
+ var editProfile = {
+ full_name: values.fullName,
+ email: values.email,
+ address: values.address,
+ phone_number: values.phone
+ }
+
+ var result = await editUserInfo(editProfile)
+ if (result.isError) {
+ setPopup(Something Wrong);
+ } else {
+ resetEdit({ values: "" });
+ setPopup(Done);
+ }
};
-
+
+ useEffect(() => {
+ async function getData() {
+ var result = await getUserInfo()
+ console.log(result.body);
+ if (!result.isError) {
+ setFullName(result.body.full_name);
+ setEmail(result.body.email);
+ setPhone(result.body.phone_number);
+ setAddress(result.body.address);
+ }
+ }
+ getData();
+ }, [])
return (
@@ -58,10 +88,10 @@ export default function Informations() {
/>
{editName ? (
- setEditName(false)} style={{fontSize : 'medium'}}/>
+ setEditName(false)} style={{ fontSize: 'medium' }} />
) : (
- setEditName(true)} style={{fontSize : 'medium'}} />
+ setEditName(true)} style={{ fontSize: 'medium' }} />
)}
@@ -75,10 +105,10 @@ export default function Informations() {
/>
{editEmail ? (
- setEditEmail(false)} style={{fontSize : 'medium'}} />
+ setEditEmail(false)} style={{ fontSize: 'medium' }} />
) : (
- setEditEmail(true)} style={{fontSize : 'medium'}}/>
+ setEditEmail(true)} style={{ fontSize: 'medium' }} />
)}
@@ -92,10 +122,10 @@ export default function Informations() {
/>
{editPassword ? (
- setEditPassword(false)} style={{fontSize : 'medium'}}/>
+ setEditPassword(false)} style={{ fontSize: 'medium' }} />
) : (
- setEditPassword(true)} style={{fontSize : 'medium'}} />
+ setEditPassword(true)} style={{ fontSize: 'medium' }} />
)}
@@ -108,10 +138,10 @@ export default function Informations() {
readOnly={!editPhone}
/>
{editPhone ? (
- setEditPhone(false)} style={{fontSize : 'medium'}}/>
+ setEditPhone(false)} style={{ fontSize: 'medium' }} />
) : (
- setEditPhone(true)} style={{fontSize : 'medium'}}/>
+ setEditPhone(true)} style={{ fontSize: 'medium' }} />
)}
@@ -124,10 +154,10 @@ export default function Informations() {
readOnly={!editAddress}
/>
{editAddress ? (
- setEditAddress(false)} style={{fontSize : 'medium'}} />
+ setEditAddress(false)} style={{ fontSize: 'medium' }} />
) : (
- setEditAddress(true)} style={{fontSize : 'medium'}}/>
+ setEditAddress(true)} style={{ fontSize: 'medium' }} />
)}
@@ -137,9 +167,9 @@ export default function Informations() {
-
-
-
+
+
+
)
diff --git a/src/helpers/apiService.js b/src/helpers/apiService.js
index 6713f71..93226af 100644
--- a/src/helpers/apiService.js
+++ b/src/helpers/apiService.js
@@ -1,6 +1,6 @@
import axios from 'axios';
-const url = "http://20.19.184.149:8000";
+const url = "https://api.etlas.tech";
function getHeaders() {
var access = localStorage.getItem("access");
diff --git a/src/pages/ContactUs/ContactUS.js b/src/pages/ContactUs/ContactUS.js
index 432ad36..8823d3c 100644
--- a/src/pages/ContactUs/ContactUS.js
+++ b/src/pages/ContactUs/ContactUS.js
@@ -11,27 +11,35 @@ import PopUp from '../../components/PopUp_Message/PopUp';
import { Field, Formik, Form, ErrorMessage } from 'formik'
import * as Yup from 'yup'
-const initialValues = {
- fullname: "",
- email: "",
- subject: "",
- message: "",
-};
+// const initialValues = {
+// fullname: "",
+// email: "",
+// subject: "",
+// message: "",
+// };
-const validationSchema = Yup.object({
- fullname: Yup.string().required('required'),
- email: Yup.string().email('invalid email format').required('required'),
- subject: Yup.string().required('required')
-})
-const onSubmit = (values, { resetForm }) => {
- console.log(values);
- resetForm({ values: "" });
-};
export default function ContactUS() {
+
+ const [fullName, setFullName] = useState("");
+ const [email, setEmail] = useState("");
+ const [subject, setSubject] = useState("");
+ const [message, setMessage] = useState("");
+
const [buttonPopup , setButtonPopup] = useState(false) ;
+ const validationSchema = Yup.object({
+ fullname: Yup.string().required('required'),
+ email: Yup.string().email('invalid email format').required('required'),
+ subject: Yup.string().required('required')
+ })
+
+ const onSubmit = (values, { resetForm }) => {
+ console.log(values);
+ resetForm({ values: "" });
+ };
+
return (
@@ -40,7 +48,7 @@ export default function ContactUS() {
Contact Us
@@ -54,6 +62,7 @@ export default function ContactUS() {
placeholder='Full Name'
id='fullname'
name='fullname'
+ onChange={(fullName) => setFullName(fullName)}
/>
{(e) => {e}
}
@@ -66,6 +75,7 @@ export default function ContactUS() {
placeholder='Your Email'
id='email'
name='email'
+ onChange={(email) => setEmail(email)}
/>
{(e) => {e}
}
@@ -79,6 +89,7 @@ export default function ContactUS() {
id='subject'
name='subject'
className={Style.subject}
+ onChange={(subject) => setSubject(subject)}
/>
{(e) => {e}
}
@@ -90,6 +101,7 @@ export default function ContactUS() {
id='message'
name='message'
className={Style.message}
+ onChange={(message) => setMessage(message)}
/>
diff --git a/src/repositories/ContactUsRepo.js b/src/repositories/ContactUsRepo.js
new file mode 100644
index 0000000..4eb12d4
--- /dev/null
+++ b/src/repositories/ContactUsRepo.js
@@ -0,0 +1,7 @@
+// import {Post} from '../helpers/apiService'
+
+
+// export async function ContactUs (body){
+// const result = await Post("contact-us/message/" , JSON.stringify(body))
+
+// }
\ No newline at end of file
diff --git a/src/repositories/ProfileRepo.js b/src/repositories/ProfileRepo.js
new file mode 100644
index 0000000..9b99752
--- /dev/null
+++ b/src/repositories/ProfileRepo.js
@@ -0,0 +1,20 @@
+import {GET , Patch} from '../helpers/apiService' ;
+
+export async function getUserInfo(){
+ const result = await GET("users/") ;
+ return result ;
+}
+
+export async function editUserInfo(body){
+ const result = await Patch("users/" , JSON.stringify(body));
+ return {
+ isError: result.isError,
+ body: result.body,
+ };
+}
+
+export async function getBestScore(){
+ const result = await GET("users/total-best-score/") ;
+ return result ;
+}
+