From 6bd0832728be90ba325df6ed7572cc832120a143 Mon Sep 17 00:00:00 2001 From: Yahialabeeb Date: Tue, 4 Jan 2022 17:33:48 +0200 Subject: [PATCH 1/3] add post functionality --- .../{userProfile.js => UserProfile.js} | 2 +- pages/Newsfeed.js | 69 ++++++-- pages/Profile.js | 18 +++ pages/home_compnenet/LoginForm.js | 11 +- pages/home_compnenet/Signupform.js | 148 +++++++++++------- pages/index.js | 8 +- pages/postComponents/Editpost.js | 59 +++++++ pages/postComponents/PostElement.js | 98 ++++++------ 8 files changed, 277 insertions(+), 136 deletions(-) rename pages/Donar_component/{userProfile.js => UserProfile.js} (97%) create mode 100644 pages/Profile.js create mode 100644 pages/postComponents/Editpost.js diff --git a/pages/Donar_component/userProfile.js b/pages/Donar_component/UserProfile.js similarity index 97% rename from pages/Donar_component/userProfile.js rename to pages/Donar_component/UserProfile.js index f78e03a..8221406 100644 --- a/pages/Donar_component/userProfile.js +++ b/pages/Donar_component/UserProfile.js @@ -51,7 +51,7 @@ function UserProfile() { + + + + + + + ) +} \ No newline at end of file diff --git a/pages/postComponents/PostElement.js b/pages/postComponents/PostElement.js index f0b2ab4..f9de40b 100644 --- a/pages/postComponents/PostElement.js +++ b/pages/postComponents/PostElement.js @@ -1,60 +1,62 @@ -import { Result } from "postcss"; + import React from "react"; import axios from "axios"; +import { useAuth } from '../../contexts/auth' import { useState, useEffect } from "react"; - -export default function PostElement() { - - const [result, setResult] = useState([]); - useEffect(async () => { - axios.get('http://127.0.0.1:8000/blood/show/').then((res) => { - setResult(res.data) - console.log(res.data); - } - ) - }, []); - - return( - - - result.map((item, idx) => { - - - return ( -
-
-
+export default function PostElement(props) { + const { tokens } = useAuth(); + const [showform, setshowform] = useState(false); + const [itemupdate, setItemupdate] = useState(""); + const handleform = (item)=>{ + // e.preventDefault() + setshowform(true) + setItemupdate(item) + console.log(itemupdate); + } + return ( + <> + {showform ?

hi

: + props.result.map((item, idx) => { + + + return ( +
+ +
+
-
-
- -
-

{item.patient}

- {item.time}
-
- -
-

{item.title}

-

- {item.text} -

-
-
-

AB+

+
+ +
+

{item.patient}

+ {item.time}
-
+
+

{item.title}

+

+ {item.text} +

+ {item.patient == tokens.username && +
+ + +
+ } +
+ +
-
- ); - }) -) + ); + })} + + ) } \ No newline at end of file From 9931b1e2cfcb46cd88b6912603b2312f1eadd35f Mon Sep 17 00:00:00 2001 From: Yahialabeeb Date: Tue, 4 Jan 2022 17:59:33 +0200 Subject: [PATCH 2/3] add post functionality --- pages/Newsfeed.js | 23 +++++++++++++++++++++-- pages/postComponents/Editpost.js | 20 ++++++++++---------- pages/postComponents/PostElement.js | 20 ++++++++------------ 3 files changed, 39 insertions(+), 24 deletions(-) diff --git a/pages/Newsfeed.js b/pages/Newsfeed.js index 4141ebf..1eb7019 100644 --- a/pages/Newsfeed.js +++ b/pages/Newsfeed.js @@ -4,10 +4,12 @@ import FormForPost from './postComponents/FormForPost' import PostElement from './postComponents/PostElement' import { useAuth } from '../contexts/auth' import { useState, useEffect } from "react"; +import Editpost from "./postComponents/Editpost"; export default function Newsfeed() { const { tokens } = useAuth(); - + const [showform, setshowform] = useState(false); + const [itemupdate, setItemupdate] = useState(""); const [result, setResult] = useState([]); useEffect(async () => { axios.get('http://127.0.0.1:8000/blood/show/').then((res) => { @@ -41,6 +43,12 @@ export default function Newsfeed() { console.log(result); }) } + const handleform = (item)=>{ + // e.preventDefault() + setshowform(true) + setItemupdate(item) + // console.log(itemupdate); + } const handleupdate = async (item) => { let url = `http://127.0.0.1:8000/blood/update-delete/${item.id}/` let data = { @@ -55,18 +63,29 @@ export default function Newsfeed() { }); console.log(result); }) + setshowform(false) } return (
+ {showform ? + + : + <> + + }
) } \ No newline at end of file diff --git a/pages/postComponents/Editpost.js b/pages/postComponents/Editpost.js index 6132846..d9b79f0 100644 --- a/pages/postComponents/Editpost.js +++ b/pages/postComponents/Editpost.js @@ -4,23 +4,23 @@ export default function Editpost(props){
-
+
@@ -29,16 +29,16 @@ export default function Editpost(props){
diff --git a/pages/postComponents/PostElement.js b/pages/postComponents/PostElement.js index f9de40b..54e3ebe 100644 --- a/pages/postComponents/PostElement.js +++ b/pages/postComponents/PostElement.js @@ -1,22 +1,18 @@ import React from "react"; -import axios from "axios"; import { useAuth } from '../../contexts/auth' -import { useState, useEffect } from "react"; export default function PostElement(props) { const { tokens } = useAuth(); - const [showform, setshowform] = useState(false); - const [itemupdate, setItemupdate] = useState(""); - const handleform = (item)=>{ - // e.preventDefault() - setshowform(true) - setItemupdate(item) - console.log(itemupdate); - } + + return ( <> - {showform ?

hi

: + { + // props.showform ? : props.result.map((item, idx) => { @@ -46,7 +42,7 @@ export default function PostElement(props) {

{item.patient == tokens.username &&
- +
} From 76c1894c2eefc429ba204854406b6ca7bc307374 Mon Sep 17 00:00:00 2001 From: Yahialabeeb Date: Tue, 4 Jan 2022 18:29:12 +0200 Subject: [PATCH 3/3] edit --- pages/Newsfeed.js | 11 ++++++----- pages/postComponents/PostElement.js | 10 +++++++--- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/pages/Newsfeed.js b/pages/Newsfeed.js index 1eb7019..5de78ab 100644 --- a/pages/Newsfeed.js +++ b/pages/Newsfeed.js @@ -49,12 +49,13 @@ export default function Newsfeed() { setItemupdate(item) // console.log(itemupdate); } - const handleupdate = async (item) => { - let url = `http://127.0.0.1:8000/blood/update-delete/${item.id}/` + const handleupdate = async (e) => { + e.preventDefault() + let url = `http://127.0.0.1:8000/blood/update-delete/${itemupdate.id}/` let data = { - patient: item.patient, - title: e.target.title.value, - text: e.target.content.value, + patient: itemupdate.patient, + title: e.target.bloodtype.value, + text: e.target.Content.value, publish: true } axios.put(url, data).then(() => { diff --git a/pages/postComponents/PostElement.js b/pages/postComponents/PostElement.js index 54e3ebe..327a52a 100644 --- a/pages/postComponents/PostElement.js +++ b/pages/postComponents/PostElement.js @@ -35,15 +35,19 @@ export default function PostElement(props) {
-
+

{item.title}

{item.text}

{item.patient == tokens.username &&
- - + +
}