summaryrefslogtreecommitdiff
path: root/src/screens/student/Home/index.js
blob: 75d734e51dd1ab0f0d9129f0ec9e9cdd4b3b7be5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
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;