Changeset c68150f for reactapp/src/Pages/Professor.js
- Timestamp:
- 10/27/22 17:35:03 (2 years ago)
- Branches:
- main
- Children:
- 3b6962d
- Parents:
- 8d83180
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
reactapp/src/Pages/Professor.js
r8d83180 rc68150f 25 25 import { CurrentPageNav } from "../Components/Styled/Main.style"; 26 26 27 function Professor( user, userLoaded) {27 function Professor() { 28 28 let params = useParams(); 29 let navigate = useNavigate(); 29 30 30 let [professor, setProfessor] = useState(null);31 let [loaded, setLoaded] = useState(null);32 let [postModalDisplay, setPostModalDisplay] = useState("none"); 33 let navigate = useNavigate();31 const [professor, setProfessor] = useState(null); 32 const [loadedProfessor, setLoadedProfessor] = useState(false); 33 34 const [postModalDisplay, setPostModalDisplay] = useState("none"); 34 35 const { auth, setAuth } = useContext(AuthApi); 35 const [postTitle, setPostTitle] = useState("");36 36 const [postContent, setPostContent] = useState(""); 37 37 const [fetchError, setFetchError] = useState(false); 38 const [errorMessage, setErrorMessage] = useState(""); 38 39 39 40 useEffect(() => { 40 41 const url = `http://192.168.0.17:8080/public/professor/${params.professorId}`; 41 42 42 const fetch Data= async () => {43 const fetchProfessor = async () => { 43 44 try { 44 45 const response = await fetch(url); … … 47 48 cyclicGraph = JSOG.decode(jsogStructure); 48 49 setProfessor(cyclicGraph); 49 setLoaded (true);50 setLoadedProfessor(true); 50 51 } catch (error) { 51 52 setFetchError(true); … … 53 54 }; 54 55 55 fetch Data();56 fetchProfessor(); 56 57 }, [params.professorId]); 57 58 … … 71 72 e.preventDefault(); 72 73 73 const response = await axios( 74 `http://192.168.0.17:8080/secure/professor/${professor.professorId}/addOpinion`, 75 { 76 method: "post", 77 data: { 78 title: postTitle, 79 content: postContent, 80 }, 81 withCredentials: true, 82 } 83 ); 84 85 window.location.reload(false); 86 }; 87 88 const handleTitleChange = (e) => { 89 setPostTitle(e.target.value); 74 if (!postContent.length < 1) { 75 const response = await axios( 76 `http://192.168.0.17:8080/secure/professor/${params.professorId}/addOpinion`, 77 { 78 method: "post", 79 data: { 80 content: postContent, 81 }, 82 withCredentials: true, 83 } 84 ); 85 setErrorMessage(""); 86 window.location.reload(false); 87 } else { 88 setErrorMessage("Полето за содржина не смее да биде празно"); 89 } 90 90 }; 91 91 … … 94 94 }; 95 95 96 if (loaded ) {96 if (loadedProfessor) { 97 97 return ( 98 98 <div> … … 120 120 </div> 121 121 </ProfessorCard> 122 <div style={{ height: "20px", marginBottom: " 30px" }}>122 <div style={{ height: "20px", marginBottom: "50px" }}> 123 123 <h3 124 124 style={{ … … 146 146 <form onSubmit={handlePostSubmit}> 147 147 <ModalBody> 148 <label htmlFor="title">149 <b>Наслов</b>:150 <ModalInput151 id="title"152 type="text"153 value={postTitle}154 onChange={handleTitleChange}155 />156 </label>157 148 <label htmlFor="content"> 158 149 <b>Содржина</b>: … … 166 157 </label> 167 158 </ModalBody> 159 <p 160 style={{ color: "red", marginLeft: "15px", marginTop: "10px" }} 161 > 162 {errorMessage} 163 </p> 168 164 <ModalFooter type="submit">ОБЈАВИ</ModalFooter> 169 165 </form> … … 172 168 173 169 <div className="opinionTree"> 174 <OpinionTree 175 professor={professor} 176 user={user} 177 userLoaded={userLoaded} 178 /> 170 <OpinionTree professor={professor} /> 179 171 </div> 180 172 <Outlet />
Note:
See TracChangeset
for help on using the changeset viewer.