diff --git a/src/components/grouptablerow/grouptablerow.jsx b/src/components/grouptablerow/grouptablerow.jsx
new file mode 100644
index 0000000..35eb949
--- /dev/null
+++ b/src/components/grouptablerow/grouptablerow.jsx
@@ -0,0 +1,16 @@
+import { PropTypes } from "prop-types";
+
+const GroupTableRow = ({ group }) => {
+ return (
+
+ {group.id} |
+ {group.name} |
+
+ );
+};
+
+GroupTableRow.propTypes = {
+ group: PropTypes.object
+};
+
+export default GroupTableRow;
\ No newline at end of file
diff --git a/src/components/subjecttablerow/subjecttablerow.jsx b/src/components/subjecttablerow/subjecttablerow.jsx
new file mode 100644
index 0000000..5f45bd3
--- /dev/null
+++ b/src/components/subjecttablerow/subjecttablerow.jsx
@@ -0,0 +1,16 @@
+import { PropTypes } from "prop-types";
+
+const SubjectTableRow = ({ subject }) => {
+ return (
+
+ {subject.id} |
+ {subject.name} |
+
+ );
+};
+
+SubjectTableRow.propTypes = {
+ subject: PropTypes.object
+};
+
+export default SubjectTableRow;
\ No newline at end of file
diff --git a/src/hooks/SubjectsHook.js b/src/hooks/SubjectsHook.js
new file mode 100644
index 0000000..7d5d1ef
--- /dev/null
+++ b/src/hooks/SubjectsHook.js
@@ -0,0 +1,22 @@
+import { useEffect, useState } from "react";
+import SubjectsApiService from "../services/SubjectsApiService";
+
+export const useSubjects = () => {
+ const [subjectsRefresh, setSubjectsRefresh] = useState(false);
+ const [subjects, setSubjects] = useState([]);
+ const handleSubjectsRefresh = () => setSubjectsRefresh(!subjectsRefresh);
+
+ const getSubjects = async () => {
+ const data = await SubjectsApiService.getAll();
+ setSubjects(data ?? []);
+ };
+
+ useEffect(() => {
+ getSubjects();
+ }, [subjectsRefresh]);
+
+ return {
+ subjects,
+ handleSubjectsRefresh,
+ };
+};
diff --git a/src/pages/SubjectsPage/SubjectsPage.jsx b/src/pages/SubjectsPage/SubjectsPage.jsx
index cdaa9fd..efe2819 100644
--- a/src/pages/SubjectsPage/SubjectsPage.jsx
+++ b/src/pages/SubjectsPage/SubjectsPage.jsx
@@ -1,11 +1,29 @@
+import { useSubjects } from "../../hooks/SubjectsHook";
import { useOnlyTeachers } from "../../hooks/UserHooks";
+import { Container } from "react-bootstrap";
+import SubjectTableRow from "../../components/subjecttablerow/subjecttablerow";
const SubjectsPage = () => {
useOnlyTeachers();
+ const { subjects, handleSubjectsChange } = useSubjects();
return (
<>
- SubjectsPage
+
+
+
+
+ ID |
+ Название |
+
+
+
+ {
+ subjects.map((subject, index) => )
+ }
+
+
+
>
);
};