source: frontend/web3-eDnevnik_Frontend/src/App.jsx

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

initial commit

  • Property mode set to 100644
File size: 17.6 KB
RevLine 
[81cdf2d]1import { BrowserRouter as Router, Routes, Route } from "react-router-dom";
2
3//opsto
4import DashboardSelector from "./pages/dashboards/DashboardSelector/DashboardSelector.jsx";
5import Stats from "./components/stats/Stats.jsx";
6import Login from "./pages/Login/Login.jsx";
7import KlasenRakovoditelDashboardViewPage from "./pages/dashboards/Klasen_RakovoditelDashboard/KlasenRakovoditelDashboardPage.jsx";
8import RoditelDashboard from "./pages/dashboards/RoditelDashboard/RoditelDashboard.jsx";
9import AdminPanelDashboard from "./pages/dashboards/DirektorAdminDashboard/AdminPanelDashboard.jsx";
10//direktor admin pages
11import Direktor_AdminPrisustvaZaStudent from "./pages/DirektorAdmin_Pages/Direktor_AdminPrisustvaZaStudent/Direktor_AdminPrisustvaZaStudent.jsx";
12import CreateUcenik from "./pages/DirektorAdmin_Pages/CreateUcenik/CreateUcenik.jsx";
13import DirektorAdmin_CreatePredmet from "./pages/DirektorAdmin_Pages/DirektorAdmin_CreatePredmet/DirektorAdmin_CreatePredmet.jsx";
14import CreateRoditel from "./pages/DirektorAdmin_Pages/CreateRoditel/CreateRoditel.jsx";
15import CreateBlagajnik from "./pages/DirektorAdmin_Pages/CreateBlagajnik/CreateBlagajnik.jsx";
16import CreateKlasenRakovoditel from "./pages/DirektorAdmin_Pages/CreateKlasenRakovoditel/CreateKlasenRakovoditel.jsx";
17import CreateNastavnik from "./pages/DirektorAdmin_Pages/CreateNastavnik/CreateNastavnik.jsx";
18import AdminPanelClassPage from "./pages/DirektorAdmin_Pages/AdminPanelClassPage/AdminPanelClassPage.jsx";
19import CreatePredmetenNastavnik from "./pages/DirektorAdmin_Pages/CreatePredmetenNastavnik/CreatePredmetenNastavnik.jsx";
20import AddKlasenRakovoditelToClass from "./pages/DirektorAdmin_Pages/AddKlasenRakovoditelToClass/AddKlasenRakovoditelToClass.jsx";
21import AdminPanelNedelniAktivnostiZaKlasPage from "./pages/DirektorAdmin_Pages/AdminPanelNedelniAktivnostiZaKlasPage/AdminPanelNedelniAktivnostiZaKlasPage.jsx";
22import AdminPanelNedelniAktivnosti from "./pages/DirektorAdmin_Pages/AdminPanelNedelniAktivnost&Aktivnostii/AdminPanelNedelniAktivnosti.jsx";
23import AdminPanelRasporedView from "./pages/DirektorAdmin_Pages/AdminPanelRasporedView/AdminPanelRasporedView.jsx";
24import AdminPanelRasporedViewZaKlasPage from "./pages/DirektorAdmin_Pages/AdminPanelRasporedViewZaKlasPage/AdminPanelRasporedViewZaKlasPage.jsx";
25import DirektorAdmin_ViewSubjectsForClass from "./pages/DirektorAdmin_Pages/DirektorAdmin_ViewSubjectsForClass/DirektorAdmin_ViewSubjectsForClass.jsx";
26import AdminPanelSoopstenijaViewPage from "./pages/DirektorAdmin_Pages/AdminPanelSoopstenijaViewPage/AdminPanelSoopstenijaViewPage.jsx";
27import AddActivityToPlan from "./pages/KlasenRakovoditel_Pages/AddActivityToPlan/AddActivityToPlan.jsx";
28import Direktor_AdminSubjectsPage from "./pages/DirektorAdmin_Pages/Direktor_AdminSubjectsPage/Direktor_AdminSubjectsPage.jsx";
29import Direktor_AdminViewInfoStudent from "./pages/DirektorAdmin_Pages/Direktor_AdminViewInfoStudent/Direktor_AdminViewInfoStudent.jsx";
30//klasen rakovoditel pages
31import Klasen_CreateSoopstenie from "./pages/KlasenRakovoditel_Pages/Klasen_CreateSoopstenie/Klasen_CreateSoopstenie.jsx";
32import Klasen_NedelenPlan from "./pages/KlasenRakovoditel_Pages/Klasen_NedelenPlan/Klasen_NedelenPlan.jsx";
33import Klasen_ViewPrisustvaZaUcenik from "./pages/KlasenRakovoditel_Pages/Klasen_ViewPrisustvaZaUcenik/Klasen_ViewPrisustvaZaUcenik.jsx";
34import Klasen_VidiRasporedCasovi from "./pages/KlasenRakovoditel_Pages/Klasen_ViewRasporedCasovi/Klasen_ViewRasporedCasovi.jsx";
35
36import Klasen_ViewStudentsInClass from "./pages/KlasenRakovoditel_Pages/Klasen_ViewStudentsInClass/Klasen_ViewStudentsInClass.jsx";
37import Klasen_ViewOcenkiZaUcenik from "./pages/KlasenRakovoditel_Pages/Klasen_ViewOcenkiZaUcenik/Klasen_ViewOcenkiZaUcenik.jsx";
38import AddSubjectToClass from "./pages/DirektorAdmin_Pages/addSubjectToClass/AddSubjectToClass.jsx";
39import Klasen_ViewStudentsPrisustvaPage from "./pages/KlasenRakovoditel_Pages/Klasen_ViewStudentsPrisustvaPage/Klasen_ViewStudentsPrisustvaPage.jsx";
40import Klasen_ViewSlusaniPredmeti from "./pages/KlasenRakovoditel_Pages/Klasen_ViewSlusaniPredmeti/Klasen_ViewSlusaniPredmeti.jsx";
41
42//roditel pages
43import RoditelSettings from "./components/RoditelSettings/RoditelSettings.jsx";
44import Roditel_NedelenPlan from "./pages/RoditelPages/Roditel_NedelenPlan/Roditel_NedelenPlan.jsx";
45import Roditel_ViewRaspored from "./pages/RoditelPages/Roditel_Raspored/Roditel_ViewRaspored.jsx";
46import Roditel_ViewOcenki from "./pages/RoditelPages/Roditel_ViewOcenki/Roditel_ViewOcenki.jsx";
47import Roditel_ViewPrisustva from "./pages/RoditelPages/Roditel_ViewPrisustva/Roditel_ViewPrisustva.jsx";
48import Direktor_ViewRoditelInfo from "./pages/dashboards/DirektorAdminDashboard/DirektorAdmin_ViewRoditelInfo/DirektorAdmin_ViewRoditelInfo.jsx";
49import DirektorAdmin_ViewBlagajnikInfo from "./pages/dashboards/DirektorAdminDashboard/DirektorAdmin_ViewBlagajnikInfo/DirektorAdmin_ViewBlagajnikInfo.jsx";
50import DirektorAdmin_ViewKlasenRakovoditelInfo from "./pages/dashboards/DirektorAdminDashboard/DirektorAdmin_ViewKlasenRakovoditelInfo/DirektorAdmin_ViewKlasenRakovoditelInfo.jsx";
51import DirektorAdmin_ViewPredmetenNastavnikInfo from "./pages/dashboards/DirektorAdminDashboard/DirektorAdmin_ViewPredmetenNastavnikInfo/DirektorAdmin_ViewPredmetenNastavnikInfo.jsx";
52import Predmeten_NastavnikDashboard from "./pages/dashboards/Predmeten_NastavnikDashboard/Predmeten_NastavnikDashboard.jsx";
53import DirektorAdmin_Statistika from "./pages/DirektorAdmin_Pages/DirektorAdmin_Statistika/DirektorAdmin_Statistika.jsx";
54//predmeten nastavnik pages
55import Predmeten_ViewSlusaniPredmeti from "./pages/PredmetenNastavnikPages/PredmetenNastavnik_ViewSlusaniPredmeti/PredmetenNastavnik_ViewSlusaniPredmeti.jsx";
56import PredmetenNastavnikSoopstenijaView from "./pages/PredmetenNastavnikPages/PredmetenNastavnikSoopstenijaView/PredmetenNastavnikSoopstenijaView.jsx";
57import PredmetenNastavnik_NedelenPlan from "./pages/PredmetenNastavnikPages/PredmetenNastavnik_NedelenPlan/PredmetenNastavnik_NedelenPlan.jsx";
58import PredmetenNastavnik_RasporedView from "./pages/PredmetenNastavnikPages/PredmetenNastavnik_RasporedView/PredmetenNastavnik_RasporedView.jsx";
59import PredmetenNastavnik_StudentsView from "./pages/PredmetenNastavnikPages/PredmetenNastavnik_StudentsView/PredmetenNastavnik_StudentsView.jsx";
60import PredmetenNastavnik_PrisustvaZaStudentView from "./pages/PredmetenNastavnikPages/PredmetenNastavnik_PrisustvaZaStudentView/PredmetenNastavnik_PrisustvaZaStudentView.jsx";
61import PredmetenNastavnik_AddAktivnostZaKlas from "./pages/PredmetenNastavnikPages/PredmetenNastavnik_AddAktivnostZaKlas/PredmetenNastavnik_AddAktivnostZaKlas.jsx";
62import Roditel_UcenikPage from "./pages/RoditelPages/Roditel_UcenikPage/Roditel_UcenikPage.jsx";
63import DirektorAdmin_PaymentAnnoucements from "./pages/DirektorAdmin_Pages/DirektorAdmin_PaymentAnnoucements/DirektorAdmin_PaymentAnnoucements.jsx";
64import BlagajnikDashboard from "./pages/dashboards/BlagajnikDashboard/BlagajnikDashboard.jsx";
65import Roditel_MyPayments from "./pages/RoditelPages/Roditel_MyPayments/Roditel_MyPayments.jsx";
66import Roditel_PaymentAnnoucements from "./pages/RoditelPages/Roditel_PaymentAnnoucements/Roditel_PaymentAnnoucements.jsx";
67import { AuthProvider } from "./contexts/AuthContext.jsx";
68
69import DirektorAdmin_PaymentsForPaymentAnnoucement from "./pages/DirektorAdmin_Pages/DirektorAdmin_PaymentsForPaymentAnnoucement/DirektorAdmin_PaymentsForPaymentAnnoucement.jsx";
70import PredmetenNastavnik_ViewOcenkiZaStudent from "./pages/PredmetenNastavnikPages/PredmetenNastavnik_ViewOcenkiZaStudent/PredmetenNastavnik_ViewOcenkiZaStudent.jsx";
71import PredmetenNastavnik_CreateUsnaOcenka from "./pages/PredmetenNastavnikPages/PredmetenNastavnik_CreateUsnaOcenka/PredmetenNastavnik_CreateUsnaOcenka.jsx";
72import PredmetenNastavnik_CreatePismenaOcenka from "./pages/PredmetenNastavnikPages/PredmetenNastavnik_CreatePismenaOcenka/PredmetenNastavnik_CreatePismenaOcenka.jsx";
73import PredmetenNastavnik_CreateKrajnaOcenka from "./pages/PredmetenNastavnikPages/PredmetenNastavnik_CreateKrajnaOcenka/PredmetenNastavnik_CreateKrajnaOcenka.jsx";
74import PredmetenNastavnik_VnesiPrisustvoZaStudent from "./pages/PredmetenNastavnikPages/PredmetenNastavnik_VnesiPrisustvoZaStudent/PredmetenNastavnik_VnesiPrisustvoZaStudent.jsx";
75//blagajnik pages
76import Blagajnik_ViewPaymentsForPaymentSoopstenie from "./pages/Blagajnik_Pages/Blagajnik_ViewPaymentsForPaymentSoopstenie/Blagajnik_ViewPaymentsForPaymentSoopstenie.jsx";
77
78function App() {
79 return (
80 <AuthProvider>
81 <Router>
82 <Routes>
83 <Route path="/login" element={<Login />} />
84
85 <Route path="/dashboard" element={<DashboardSelector />} />
86 <Route
87 path="/klasenRakovoditelDashboard"
88 element={<KlasenRakovoditelDashboardViewPage />}
89 />
90 <Route
91 path="/predmetenNastavnikDashboard"
92 element={<Predmeten_NastavnikDashboard />}
93 />
94 <Route
95 path="/predmetenNastavnikDashboard/klas/:klasId/soopstenija"
96 element={<PredmetenNastavnikSoopstenijaView />}
97 />
98 <Route
99 path="/adminDashboard/statistics"
100 element={<DirektorAdmin_Statistika />}
101 />
102 <Route
103 path={"/roditelDashboard/ucenik/:studentId/soopstenija"}
104 element={<Roditel_UcenikPage />}
105 />
106 <Route
107 path="/predmetenNastavnikDashboard/klas/:classId/weeklyPlan"
108 element={<PredmetenNastavnik_NedelenPlan />}
109 />
110 <Route
111 path="/predmetenNastavnikDashboard/klas/:classId/student/:studentId/attendance/insertPrisustvo"
112 element={<PredmetenNastavnik_VnesiPrisustvoZaStudent />}
113 />
114 <Route
115 path="/predmetenNastavnikDashboard/klas/:classId/subjects"
116 element={<Predmeten_ViewSlusaniPredmeti />}
117 />
118 <Route
119 path="/predmetenNastavnikDashboard/klas/:classId/student/:studentId/grades"
120 element={<PredmetenNastavnik_ViewOcenkiZaStudent />}
121 />
122 <Route
123 path="/predmetenNastavnikDashboard/klas/:classId/student/:studentId/grades/insertUsnaOcenka"
124 element={<PredmetenNastavnik_CreateUsnaOcenka />}
125 />
126 <Route
127 path="/predmetenNastavnikDashboard/klas/:classId/student/:studentId/grades/insertPismenaOcenka"
128 element={<PredmetenNastavnik_CreatePismenaOcenka />}
129 />
130 <Route
131 path="/predmetenNastavnikDashboard/klas/:classId/student/:studentId/grades/insertKrajnaOcenka"
132 element={<PredmetenNastavnik_CreateKrajnaOcenka />}
133 />
134 <Route
135 path="/predmetenNastavnikDashboard/klas/:classId/schedule"
136 element={<PredmetenNastavnik_RasporedView />}
137 />
138 <Route
139 path="/predmetenNastavnikDashboard/klas/:classId/students"
140 element={<PredmetenNastavnik_StudentsView />}
141 />
142 <Route
143 path="/adminDashboard/users"
144 element={<AdminPanelDashboard />}
145 />
146 <Route
147 path="adminDashboard/subjects/create"
148 element={<DirektorAdmin_CreatePredmet />}
149 />
150 <Route
151 path="/adminDashboard/classes"
152 element={<AdminPanelClassPage />}
153 />
154 <Route
155 path="/adminDashboard/weeklyPlans"
156 element={<AdminPanelNedelniAktivnosti />}
157 />
158 <Route
159 path="/adminDashboard/subjects"
160 element={<Direktor_AdminSubjectsPage />}
161 />
162 <Route
163 path="/adminDashboard/classes/:classId/viewSubjects"
164 element={<DirektorAdmin_ViewSubjectsForClass />}
165 />
166 <Route
167 path="/adminDashboard/classes/:classId/students/:studentId/attendancies"
168 element={<Direktor_AdminPrisustvaZaStudent />}
169 />
170
171 <Route
172 path="/adminDashboard/students/:studentId/info"
173 element={<Direktor_AdminViewInfoStudent />}
174 />
175 <Route
176 path="/adminDashboard/parents/:roditelId/info"
177 element={<Direktor_ViewRoditelInfo />}
178 />
179 <Route
180 path="/adminDashboard/treasurers/:blagajnikId/info"
181 element={<DirektorAdmin_ViewBlagajnikInfo />}
182 />
183 <Route
184 path="/adminDashboard/classTeacher/:klasenRakovoditelId/info"
185 element={<DirektorAdmin_ViewKlasenRakovoditelInfo />}
186 />
187 <Route
188 path="/adminDashboard/teacher/:predmetenNastavnikId/info"
189 element={<DirektorAdmin_ViewPredmetenNastavnikInfo />}
190 />
191 <Route
192 path="/klasenRakovoditelDashboard/createSoopstenie"
193 element={<Klasen_CreateSoopstenie />}
194 />
195 <Route
196 path="/klasenRakovoditelDashboard/:classId/students"
197 element={<Klasen_ViewStudentsInClass />}
198 />
199 <Route path="/klasenRakovoditelDashboard/:classId">
200 <Route path="student/:studentId">
201 <Route path="grades">
202 <Route index element={<Klasen_ViewOcenkiZaUcenik />} />
203 </Route>
204 </Route>
205 </Route>
206 <Route
207 path="/klasenRakovoditelDashboard/:classId/student/:studentId/attendance"
208 element={<Klasen_ViewPrisustvaZaUcenik />}
209 />
210 <Route
211 path="/predmetenNastavnikDashboard/klas/:classId/student/:studentId/attendance"
212 element={<PredmetenNastavnik_PrisustvaZaStudentView />}
213 />
214 <Route
215 path="/adminDashboard/schedules"
216 element={<AdminPanelRasporedView />}
217 />
218 <Route
219 path="/adminDashboard/classes"
220 element={<AdminPanelClassPage />}
221 />
222
223 <Route
224 path="/adminDashboard/classes/:classId/addKlasenRakovoditel"
225 element={<AddKlasenRakovoditelToClass />}
226 />
227
228 <Route
229 path="/adminDashboard/paymentAnnoucement/:paymentAnnoucementId"
230 element={<DirektorAdmin_PaymentsForPaymentAnnoucement />}
231 />
232 <Route
233 path="/adminDashboard/classes/:classId/addSubjects"
234 element={<AddSubjectToClass />}
235 />
236 <Route
237 path="/adminDashboard/classes/:classId/weeklyPlan"
238 element={<AdminPanelNedelniAktivnostiZaKlasPage />}
239 />
240
241 <Route
242 path="/adminDashboard/paymentAnnoucements"
243 element={<DirektorAdmin_PaymentAnnoucements />}
244 />
245 <Route
246 path="/klasenRakovoditelDashboard/:classId/attendancies"
247 element={<Klasen_ViewStudentsPrisustvaPage />}
248 />
249 <Route
250 path="/klasenRakovoditelDashboard/:classId/raspored"
251 element={<Klasen_VidiRasporedCasovi />}
252 />
253 <Route
254 path="/klasenRakovoditelDashboard/:classId/subjects"
255 element={<Klasen_ViewSlusaniPredmeti />}
256 />
257
258 <Route
259 path="/klasenRakovoditelDashboard/:classId/weeklyPlan"
260 element={<Klasen_NedelenPlan />}
261 />
262 <Route
263 path="/klasenRakovoditelDashboard/:classId/addActivity"
264 element={<AddActivityToPlan />}
265 />
266 <Route
267 path="/predmetenNastavnikDashboard/:classId/addActivity"
268 element={<PredmetenNastavnik_AddAktivnostZaKlas />}
269 />
270 <Route
271 path="/adminDashboard/classes/:classId/schedule"
272 element={<AdminPanelRasporedViewZaKlasPage />}
273 />
274 <Route
275 path="/adminDashboard/classes/:classId/soopstenija"
276 element={<AdminPanelSoopstenijaViewPage />}
277 />
278 <Route path="/stats" element={<Stats />} />
279 <Route path="/korisnici/createUcenik" element={<CreateUcenik />} />
280 <Route path="/korisnici/createRoditel" element={<CreateRoditel />} />
281 <Route
282 path="/korisnici/nastavnici/createNastavnik"
283 element={<CreateNastavnik />}
284 />
285 <Route
286 path="/korisnici/createBlagajnik"
287 element={<CreateBlagajnik />}
288 />
289 <Route
290 path="/korisnici/nastavnici/createKlasenRakovoditel"
291 element={<CreateKlasenRakovoditel />}
292 />
293 <Route
294 path="/korisnici/nastavnici/createPredmetenNastavnik"
295 element={<CreatePredmetenNastavnik />}
296 />
297 {/*roditel pages */}
298 <Route path="/roditelDashboard" element={<RoditelDashboard />} />
299 <Route
300 path="/roditelDashboard/settings"
301 element={<RoditelSettings />}
302 />
303 <Route
304 path="/roditelDashboard/:classId/weeklyPlan"
305 element={<Roditel_NedelenPlan />}
306 />
307
308 <Route
309 path="/roditelDashboard/:classId/raspored"
310 element={<Roditel_ViewRaspored />}
311 />
312 <Route
313 path="/roditelDashboard/student/:studentId/grades"
314 element={<Roditel_ViewOcenki />}
315 />
316 <Route
317 path="/roditelDashboard/myPayments"
318 element={<Roditel_MyPayments />}
319 />
320 <Route
321 path="/roditelDashboard/student/:studentId/prisustva"
322 element={<Roditel_ViewPrisustva />}
323 />
324 <Route
325 path="/roditelDashboard/paymentAnnoucements"
326 element={<Roditel_PaymentAnnoucements />}
327 />
328
329 <Route
330 path="/blagajnikDashboard/:paymentSoopstenieId/payments"
331 element={<Blagajnik_ViewPaymentsForPaymentSoopstenie />}
332 />
333
334 <Route path="/" element={<Login />} />
335 </Routes>
336 </Router>
337 </AuthProvider>
338 );
339}
340
341export default App;
Note: See TracBrowser for help on using the repository browser.