summaryrefslogtreecommitdiff
path: root/src/screens/student/Home/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/screens/student/Home/index.js')
-rw-r--r--src/screens/student/Home/index.js51
1 files changed, 51 insertions, 0 deletions
diff --git a/src/screens/student/Home/index.js b/src/screens/student/Home/index.js
new file mode 100644
index 0000000..75d734e
--- /dev/null
+++ b/src/screens/student/Home/index.js
@@ -0,0 +1,51 @@
+import { useEffect, useState } from 'react';
+import { useNavigate } from 'react-router-dom';
+import { useUser } from '../../../context/user';
+import { useDocumentTitle } from '../../../hooks/useDocumentTitle';
+import useLayoutType from '../../../hooks/useLayoutType';
+import View from './View';
+
+function Home() {
+ useDocumentTitle('Página Inicial');
+ const navigate = useNavigate();
+ const layoutType = useLayoutType();
+ const { userService } = useUser();
+ const [classrooms, setClassrooms] = useState(null);
+ const [assignments, setAssignments] = useState(null);
+
+ useEffect(() => {
+ async function getClassrooms() {
+ const result = await userService.fetchClassrooms();
+ setClassrooms(result.data);
+ }
+ getClassrooms();
+ }, [userService, userService.fetchClassrooms]);
+
+ useEffect(() => {
+ async function getAssignments() {
+ const result = await userService.fetchAllAssignments();
+ setAssignments(result.data);
+ }
+ getAssignments();
+ }, [userService, userService.fetchAllAssignments]);
+
+ const onClickClassCard = id => {
+ navigate(`/class/${id}`);
+ };
+
+ const onClickAssignmentCard = id => {
+ navigate(`/assignment/${id}`);
+ };
+
+ return (
+ <View
+ layoutType={layoutType}
+ classrooms={classrooms}
+ assignments={assignments}
+ onClickClassCard={onClickClassCard}
+ onClickAssignmentCard={onClickAssignmentCard}
+ />
+ );
+}
+
+export default Home;