import React, { useState, useEffect } from "react"; import { useParams, Outlet } from "react-router-dom"; import JSOG from "jsog"; import { ProfessorCard, ProfessorCardName, ProfessorCardSeparator, ProfessorCardDetails, } from "../Components/Styled/ProfessorCard.style"; import { EntityUl, EntityLi, EntityParam, } from "../Components/Styled/EntityList.style"; import { CurrentPageNav } from "../Components/Styled/Main.style"; const University = () => { let params = useParams(); const [loaded, setLoaded] = useState(false); const [faculties, setFaculties] = useState(null); const [fetchError, setFetchError] = useState(false); useEffect(() => { const url = `http://192.168.0.19:8080/public/faculties?universityId=${params.universityId}`; const fetchData = async () => { try { const response = await fetch(url); var cyclicGraph = await response.json(); var jsogStructure = JSOG.encode(cyclicGraph); cyclicGraph = JSOG.decode(jsogStructure); setFaculties(cyclicGraph); setLoaded(true); } catch (error) { setFetchError(true); } }; fetchData(); }, [params.universityId]); return loaded && !fetchError && faculties.length !== 0 ? ( <> » {faculties[0].university.universityName} {faculties[0].university.universityName} {faculties[0].university.city.cityName}
{faculties.map((faculty) => { let totalPosts = 0; let totalSections = 0; faculty.professors.map((professor) => { totalPosts += professor.relatedOpinions.length; totalSections++; }); faculty.studyProgrammes.map((studyProgramme) => { studyProgramme.subjects.map((subject) => { totalPosts += subject.threads.length; totalSections++; }); }); return ( {faculty.facultyName} {totalSections}{" "} {totalSections !== 1 ? ( секции, ) : ( секција )} {totalPosts} {" "} {totalPosts !== 1 ? ( мислења ) : ( мислење )} ); })}
) : !fetchError && !loaded ? (

се вчитува...

) : (

Страницата не е пронајдена.

); }; export default University;