source: frontend/web3-eDnevnik_Frontend/src/pages/dashboards/Predmeten_NastavnikDashboard/Predmeten_NastavnikDashboard.jsx

Last change on this file was 81cdf2d, checked in by Nikola Janev <nikolajanev57@…>, 10 days ago

initial commit

  • Property mode set to 100644
File size: 2.8 KB
Line 
1import React, { useState, useEffect } from "react";
2import axios from "axios";
3import styles from "../Klasen_RakovoditelDashboard/KlasenRakovoditelDashboardPageStyles.module.css";
4import NavbarKlasen from "../../../components/navbarKlasen/NavbarKlasen.jsx";
5import { Link } from "react-router-dom";
6
7const Predmeten_NastavnikDashboard = ({ predmetenNastavnikId }) => {
8 const [klasovi, setKlasovi] = useState([]);
9 const [error, setError] = useState("");
10 const [loading, setLoading] = useState(false);
11
12 useEffect(() => {
13 const initializeDashboard = async () => {
14 if (!predmetenNastavnikId) return;
15 try {
16 setLoading(true);
17 const resClassesInitial = await axios.get(
18 `http://localhost:8080/api/users/nastavnici/predmetniNastavnici/${predmetenNastavnikId}/classes`,
19 { withCredentials: true }
20 );
21 setKlasovi(resClassesInitial.data);
22 } catch (err) {
23 console.log(err);
24 } finally {
25 setLoading(false);
26 }
27 };
28 initializeDashboard();
29 }, [predmetenNastavnikId]);
30
31 return (
32 <>
33 <div>
34 <NavbarKlasen />
35 <div className="container mt-5 mh-100">
36 {console.log(klasovi)}
37 <div className="row">
38 <div className="col-12">
39 <nav
40 className="container text-white h-5 d-flex text-start p-3"
41 style={{ backgroundColor: "#147176" }}
42 >
43 <div className="dropdown">
44 <button
45 className="btn btn-secondary dropdown-toggle"
46 type="button"
47 id="dropdownMenuButton"
48 data-bs-toggle="dropdown"
49 aria-haspopup="true"
50 aria-expanded="false"
51 >
52 Мои класови
53 </button>
54 <div
55 className="dropdown-menu"
56 aria-labelledby="dropdownMenuButton"
57 >
58 {loading ? (
59 <div className="dropdown-item">Вчитување...</div>
60 ) : klasovi.length > 0 ? (
61 klasovi.map((k) => (
62 <Link
63 key={k.id}
64 className="dropdown-item"
65 to={`/predmetenNastavnikDashboard/klas/${k.id}/soopstenija`}
66 >
67 {k.oddelenie}-{k.paralelka}
68 </Link>
69 ))
70 ) : (
71 <div className="dropdown-item">Нема класови</div>
72 )}
73 </div>
74 </div>
75 </nav>
76 </div>
77 </div>
78 </div>
79 </div>
80 </>
81 );
82};
83
84export default Predmeten_NastavnikDashboard;
Note: See TracBrowser for help on using the repository browser.