summaryrefslogtreecommitdiff
path: root/src/screens/Assignment/index.js
blob: 3357c2b04a57c8f5703d1682635b68d9a1d83f6a (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
import { useEffect, useState } from 'react';
import { useDropzone } from 'react-dropzone';
import { useParams } from 'react-router-dom';
import { useUser } from '../../context/user';
import useLayoutType from '../../hooks/useLayoutType';
import View from './View';

function Assignment() {
  const params = useParams();
  const layoutType = useLayoutType();
  const { userService } = useUser();
  const [assignment, setAssignment] = useState(null);
  const dropzone = useDropzone({ maxFiles: 5 });

  useEffect(() => {
    async function getAssignmentById(assignmentId) {
      document.title = 'Carregando...';
      const result = await userService.fetchAssignmentById(assignmentId);
      setAssignment(result.data);
    }

    function updateDocumentTitle() {
      if (assignment !== null) {
        document.title = assignment.title;
      }
    }

    getAssignmentById(params.id);
    updateDocumentTitle();
  }, [params, userService, userService.fetchAssignmentById, assignment]);

  return (
    <View assignment={assignment} dropzone={dropzone} layoutType={layoutType} />
  );
}

export default Assignment;