From d2e5650a33e1d920ef6cd0e13026ed3844ed1fc6 Mon Sep 17 00:00:00 2001
From: Luis Felipe Risch <lfr20@inf.ufpr.br>
Date: Mon, 22 Mar 2021 10:32:24 -0300
Subject: [PATCH] Removed terminal warnings

---
 .../Components/DataCards/ActivityCard.js         |  1 -
 .../Components/DataCards/CollectionCard.js       |  1 -
 .../DataCards/CommunityQuestionCard.js           |  3 +--
 .../Components/DataCards/ComplaintsCard.js       |  8 ++++----
 .../DataCards/EducationalObjectsCard.js          |  4 ++--
 .../Components/DataCards/InstitutionsCard.js     |  3 +--
 .../Components/DataCards/NoteVarCard.js          |  1 -
 .../Components/DataCards/RatingCard.js           |  1 -
 .../Components/Inputs/CreateInstitution.js       |  2 +-
 .../Components/Inputs/CreateLanguage.js          |  7 +------
 .../Components/Inputs/CreateQuestion.js          | 10 +---------
 .../Components/Components/Inputs/CreateRating.js |  2 +-
 .../Components/Components/Inputs/CreateRole.js   |  2 +-
 .../Components/Inputs/EditCollection.js          | 16 ++--------------
 .../Components/Inputs/EditEducationalObect.js    | 11 +++++------
 .../Components/Components/Inputs/EditLanguage.js |  8 +-------
 .../Components/Components/Inputs/EditRating.js   |  2 +-
 .../Components/Components/Inputs/EditRoles.js    |  8 +-------
 .../Components/Components/Inputs/EditUser.js     | 11 ++++++-----
 .../Components/Components/Inputs/EmailInputs.js  |  7 ++++---
 .../Components/Inputs/IntitutionsInputs.js       |  9 ++-------
 .../Components/Inputs/NoteVarInputs.js           |  7 +------
 src/Admin/Components/Components/Table.js         |  1 -
 src/Admin/Pages/Pages/SubPages/AproveTeacher.js  |  4 ++--
 .../Pages/Pages/SubPages/CommunityQuestions.js   |  2 +-
 src/Admin/Pages/Pages/SubPages/Complaints.js     |  3 ++-
 src/Admin/Pages/Pages/SubPages/Inframe.js        |  4 +++-
 src/Admin/Pages/Pages/SubPages/Permissions.js    |  1 -
 src/Admin/Pages/Pages/SubPages/Questions.js      |  2 +-
 src/Admin/Pages/Pages/SubPages/SendEmail.js      |  2 +-
 src/App.js                                       | 13 ++-----------
 src/Components/MobileDrawerMenu.js               |  5 -----
 src/Components/SearchBar.js                      |  2 +-
 src/Pages/MaterialPage.js                        |  5 +----
 34 files changed, 50 insertions(+), 118 deletions(-)

diff --git a/src/Admin/Components/Components/DataCards/ActivityCard.js b/src/Admin/Components/Components/DataCards/ActivityCard.js
index 23f72133..d3bdcbe1 100644
--- a/src/Admin/Components/Components/DataCards/ActivityCard.js
+++ b/src/Admin/Components/Components/DataCards/ActivityCard.js
@@ -24,7 +24,6 @@ import CardContent from "@material-ui/core/CardContent";
 import Typography from "@material-ui/core/Typography";
 import Button from "@material-ui/core/Button";
 import ListRoundedIcon from "@material-ui/icons/ListRounded";
-import ButtonGroup from "@material-ui/core/ButtonGroup";
 import { useStyles } from "../../Styles/DataCard";
 import Grid from "@material-ui/core/Grid";
 //imports from local files
diff --git a/src/Admin/Components/Components/DataCards/CollectionCard.js b/src/Admin/Components/Components/DataCards/CollectionCard.js
index 11a93d43..fa06198a 100644
--- a/src/Admin/Components/Components/DataCards/CollectionCard.js
+++ b/src/Admin/Components/Components/DataCards/CollectionCard.js
@@ -24,7 +24,6 @@ import CardContent from "@material-ui/core/CardContent";
 import Typography from "@material-ui/core/Typography";
 import Button from "@material-ui/core/Button";
 import ListRoundedIcon from "@material-ui/icons/ListRounded";
-import ButtonGroup from "@material-ui/core/ButtonGroup";
 import { useStyles } from "../../Styles/DataCard";
 import Grid from '@material-ui/core/Grid';
 // Icons
diff --git a/src/Admin/Components/Components/DataCards/CommunityQuestionCard.js b/src/Admin/Components/Components/DataCards/CommunityQuestionCard.js
index 5b23f6eb..4ee4a144 100644
--- a/src/Admin/Components/Components/DataCards/CommunityQuestionCard.js
+++ b/src/Admin/Components/Components/DataCards/CommunityQuestionCard.js
@@ -25,7 +25,6 @@ import CardContent from "@material-ui/core/CardContent";
 import Typography from "@material-ui/core/Typography";
 import Button from "@material-ui/core/Button";
 import ListRoundedIcon from "@material-ui/icons/ListRounded";
-import ButtonGroup from "@material-ui/core/ButtonGroup";
 import { useStyles } from "../../Styles/DataCard";
 // Icons
 import EmailRoundedIcon from '@material-ui/icons/EmailRounded';
@@ -38,7 +37,7 @@ import { getRequest } from '../../../../Components/HelperFunctions/getAxiosConfi
 import LoadingSpinner from '../../../../Components/LoadingSpinner';
 
 const CommunityQuestions = ({ match }) => {
-    const { state, dispatch } = useContext(Store);
+    const { state } = useContext(Store);
     const classes = useStyles();
 
     const [error, setError] = useState(null); //Necessary to consult the API, catch errors
diff --git a/src/Admin/Components/Components/DataCards/ComplaintsCard.js b/src/Admin/Components/Components/DataCards/ComplaintsCard.js
index e253872c..17f7623e 100644
--- a/src/Admin/Components/Components/DataCards/ComplaintsCard.js
+++ b/src/Admin/Components/Components/DataCards/ComplaintsCard.js
@@ -46,7 +46,7 @@ import { CardActions } from "@material-ui/core";
 import { apiDomain } from '../../../../env';
 import LoadingSpinner from '../../../../Components/LoadingSpinner';
 import SnackBar from '../../../../Components/SnackbarComponent';
-import { getRequest, postRequest, putRequest } from '../../../../Components/HelperFunctions/getAxiosConfig'
+import { getRequest, postRequest } from '../../../../Components/HelperFunctions/getAxiosConfig'
 //styles
 
 const PORTAL_MEC = "https://plataformaintegrada.mec.gov.br/";
@@ -377,6 +377,7 @@ const CollectionCard = ({ match }) => {
                             <a
                                 style={{ textDecoration: "none", color: "#FFFAFA" }}
                                 target="_blank"
+                                rel="noreferrer"
                                 href={
                                     PORTAL_MEC +
                                     convertToLink(
@@ -390,7 +391,6 @@ const CollectionCard = ({ match }) => {
                         </Button>
                     </CardActions>
                 )
-                break;
             default:
                 return (
                     <CardActions>
@@ -413,6 +413,7 @@ const CollectionCard = ({ match }) => {
                             <a
                                 style={{ textDecoration: "none", color: "#FFFAFA" }}
                                 target="_blank"
+                                rel="noreferrer"
                                 href={
                                     PORTAL_MEC +
                                     convertToLink(
@@ -426,7 +427,6 @@ const CollectionCard = ({ match }) => {
                         </Button>
                     </CardActions>
                 )
-                break;
         }
     }
 
@@ -532,7 +532,7 @@ const CollectionCard = ({ match }) => {
                     <Grid item justify="flex-start" alignItems="center" alignContent="center">
                         {data.thumbnail ? (
                             <Grid item style={{ marginTop: "1em", marginBottom: "1em", alignSelf: "center" }}>
-                                <a target="_blank" href={apiDomain + data.thumbnail}>
+                                <a target="_blank" rel="noreferrer" href={apiDomain + data.thumbnail}>
                                     {" "}
                                     <img src={apiDomain + data.thumbnail} alt="" />{" "}
                                 </a>
diff --git a/src/Admin/Components/Components/DataCards/EducationalObjectsCard.js b/src/Admin/Components/Components/DataCards/EducationalObjectsCard.js
index 63cf1288..493f577f 100644
--- a/src/Admin/Components/Components/DataCards/EducationalObjectsCard.js
+++ b/src/Admin/Components/Components/DataCards/EducationalObjectsCard.js
@@ -27,7 +27,6 @@ import Button from "@material-ui/core/Button";
 import ListRoundedIcon from "@material-ui/icons/ListRounded";
 import VisibilityIcon from "@material-ui/icons/Visibility";
 import EditRoundedIcon from "@material-ui/icons/EditRounded";
-import ButtonGroup from "@material-ui/core/ButtonGroup";
 import { useStyles } from "../../Styles/DataCard";
 import DeleteRoundedIcon from "@material-ui/icons/DeleteRounded";
 //imports from local files
@@ -260,6 +259,7 @@ const CommunityQuestions = ({ match }) => {
                             >
                                 <a
                                     style={{ textDecoration: "none" }}
+                                    rel="noreferrer"
                                     target="_blank"
                                     href={
                                         apiUrl +
@@ -296,7 +296,7 @@ const CommunityQuestions = ({ match }) => {
                     <div style={{height: "1em"}}/>
                     {item.thumbnail ? (
                         <div style={{ marginTop: "1em", marginBottom: "1em" }}>
-                            <a target="_blank" href={apiDomain + item.thumbnail}>
+                            <a target="_blank" rel="noreferrer" href={apiDomain + item.thumbnail}>
                                 {" "}
                                 <img src={apiDomain + item.thumbnail} alt="" />{" "}
                             </a>
diff --git a/src/Admin/Components/Components/DataCards/InstitutionsCard.js b/src/Admin/Components/Components/DataCards/InstitutionsCard.js
index 0e0ebd90..817fcfad 100644
--- a/src/Admin/Components/Components/DataCards/InstitutionsCard.js
+++ b/src/Admin/Components/Components/DataCards/InstitutionsCard.js
@@ -16,7 +16,7 @@ GNU Affero General Public License for more details.
 You should have received a copy of the GNU Affero General Public License
 along with Plataforma Integrada MEC.  If not, see <http://www.gnu.org/licenses/>.*/
 
-import React, { useState, useEffect, useContext } from "react";
+import React, { useState, useEffect } from "react";
 import moment from 'moment'
 // Maerial ui components
 import Card from "@material-ui/core/Card";
@@ -24,7 +24,6 @@ import CardContent from "@material-ui/core/CardContent";
 import Typography from "@material-ui/core/Typography";
 import Button from "@material-ui/core/Button";
 import ListRoundedIcon from "@material-ui/icons/ListRounded";
-import ButtonGroup from "@material-ui/core/ButtonGroup";
 import { useStyles } from "../../Styles/DataCard";
 import Grid from '@material-ui/core/Grid';
 // Icons
diff --git a/src/Admin/Components/Components/DataCards/NoteVarCard.js b/src/Admin/Components/Components/DataCards/NoteVarCard.js
index deaf5b3a..6b72bddf 100644
--- a/src/Admin/Components/Components/DataCards/NoteVarCard.js
+++ b/src/Admin/Components/Components/DataCards/NoteVarCard.js
@@ -25,7 +25,6 @@ import Typography from "@material-ui/core/Typography";
 import Button from "@material-ui/core/Button";
 import ListRoundedIcon from "@material-ui/icons/ListRounded";
 import Grid from "@material-ui/core/Grid";
-import ButtonGroup from "@material-ui/core/ButtonGroup";
 import { useStyles } from "../../Styles/DataCard";
 // Icons
 import EditRoundedIcon from "@material-ui/icons/EditRounded";
diff --git a/src/Admin/Components/Components/DataCards/RatingCard.js b/src/Admin/Components/Components/DataCards/RatingCard.js
index 5d875702..c333b56c 100644
--- a/src/Admin/Components/Components/DataCards/RatingCard.js
+++ b/src/Admin/Components/Components/DataCards/RatingCard.js
@@ -24,7 +24,6 @@ import CardContent from "@material-ui/core/CardContent";
 import Typography from "@material-ui/core/Typography";
 import Button from "@material-ui/core/Button";
 import ListRoundedIcon from "@material-ui/icons/ListRounded";
-import ButtonGroup from "@material-ui/core/ButtonGroup";
 import Grid from "@material-ui/core/Grid";
 import { useStyles } from "../../Styles/DataCard";
 // Icons
diff --git a/src/Admin/Components/Components/Inputs/CreateInstitution.js b/src/Admin/Components/Components/Inputs/CreateInstitution.js
index 392267c5..95208457 100644
--- a/src/Admin/Components/Components/Inputs/CreateInstitution.js
+++ b/src/Admin/Components/Components/Inputs/CreateInstitution.js
@@ -34,7 +34,7 @@ import Unauthorized from '../Unauthorized';
 import { Link } from 'react-router-dom';
 
 const CreateInstitution = (props) => {
-    const { state, dispatch } = useContext(Store);
+    const { state } = useContext(Store);
 
     const [name, setName] = useState('Nova Instituição');
     const [description, setDescription] = useState('');
diff --git a/src/Admin/Components/Components/Inputs/CreateLanguage.js b/src/Admin/Components/Components/Inputs/CreateLanguage.js
index 7b792131..4e40599b 100644
--- a/src/Admin/Components/Components/Inputs/CreateLanguage.js
+++ b/src/Admin/Components/Components/Inputs/CreateLanguage.js
@@ -34,7 +34,7 @@ import { Link } from 'react-router-dom';
 import Unauthorized from '../Unauthorized';
 
 const CreateLanguage = (props) => {
-    const { state, dispatch } = useContext(Store);
+    const { state } = useContext(Store);
 
     const [name, setName] = useState('Nova linguagem');
     const [code, setCode] = useState('');
@@ -80,11 +80,6 @@ const CreateLanguage = (props) => {
         setCode(e.target.value)
     }
 
-    // verify if the given text is empty
-    const isEmpty = (text) => {
-        return text.length === 0 ? true : false;
-    }
-
     // Handle snack infos
     const HandleSnack = (message, state, icon, color) => {
         setSnackInfo({
diff --git a/src/Admin/Components/Components/Inputs/CreateQuestion.js b/src/Admin/Components/Components/Inputs/CreateQuestion.js
index 1f532891..89fd3f85 100644
--- a/src/Admin/Components/Components/Inputs/CreateQuestion.js
+++ b/src/Admin/Components/Components/Inputs/CreateQuestion.js
@@ -35,19 +35,13 @@ import SnackBar from '../../../../Components/SnackbarComponent';
 import { Link } from 'react-router-dom';
 
 const CreateQuestion = (props) => {
-    const { state, dispatch } = useContext(Store);
+    const { state } = useContext(Store);
 
     const [status, setStatus] = useState('');
     const [description, setDescription] = useState('');
 
     const [isLoading, setIsLoading] = useState(false)
 
-    // Handle error in name
-    const [errorInStatus, setErrorInStatus] = useState({
-        error: false,
-        message: '',
-    })
-
     // Handle error in Country 
     const [errorInDescription, setErrorInDescription] = useState({
         error: false,
@@ -216,9 +210,7 @@ const CreateQuestion = (props) => {
                                 select
                                 label="Status"
                                 value={status ? status : ""}
-                                error={errorInStatus.error}
                                 style={{ width: '250px', marginBottom: '1em' }}
-                                helperText={errorInStatus.error ? errorInStatus.errorMessage : ''}
                                 onChange={handleChange}
                             >
                                 {STATUS_OPTIONS.map((option, index) => (
diff --git a/src/Admin/Components/Components/Inputs/CreateRating.js b/src/Admin/Components/Components/Inputs/CreateRating.js
index ef12cd27..3a8907f9 100644
--- a/src/Admin/Components/Components/Inputs/CreateRating.js
+++ b/src/Admin/Components/Components/Inputs/CreateRating.js
@@ -35,7 +35,7 @@ import {Link} from 'react-router-dom';
 import Unauthorized from '../Unauthorized';
 
 const CreateRating = (props) => {
-    const { state, dispatch } = useContext(Store);
+    const { state } = useContext(Store);
 
     const [name, setName] = useState('Novo rating');
     const [description, setDescription] = useState('');
diff --git a/src/Admin/Components/Components/Inputs/CreateRole.js b/src/Admin/Components/Components/Inputs/CreateRole.js
index 15a993aa..042616ca 100644
--- a/src/Admin/Components/Components/Inputs/CreateRole.js
+++ b/src/Admin/Components/Components/Inputs/CreateRole.js
@@ -34,7 +34,7 @@ import { Link } from 'react-router-dom';
 import Unauthorized from '../Unauthorized';
 
 const CreateRole = (props) => {
-    const { state, dispatch } = useContext(Store);
+    const { state } = useContext(Store);
 
     const [name, setName] = useState('Nova role');
     const [desc, setDesc] = useState('');
diff --git a/src/Admin/Components/Components/Inputs/EditCollection.js b/src/Admin/Components/Components/Inputs/EditCollection.js
index ddde3944..67917eb6 100644
--- a/src/Admin/Components/Components/Inputs/EditCollection.js
+++ b/src/Admin/Components/Components/Inputs/EditCollection.js
@@ -16,7 +16,7 @@ GNU Affero General Public License for more details.
 You should have received a copy of the GNU Affero General Public License
 along with Plataforma Integrada MEC.  If not, see <http://www.gnu.org/licenses/>.*/
 
-import React, { useState, useEffect, useRef, useContext } from 'react';
+import React, { useState, useEffect, useContext } from 'react';
 //imports material ui components
 import { Typography, TextField, Button, Grid } from '@material-ui/core';
 import CircularProgress from '@material-ui/core/CircularProgress';
@@ -39,7 +39,7 @@ import ClassicEditor from "@ckeditor/ckeditor5-build-classic"
 import { CKEditor } from '@ckeditor/ckeditor5-react';
 
 const EditCollection = ({ match }) => {
-    const { state, dispatch } = useContext(Store);
+    const { state } = useContext(Store);
 
     const [error, setError] = useState(null); //Necessary to consult the API, catch errors
     const [isLoaded, setIsLoaded] = useState(false); //Necessary to consult the API, wait until complete
@@ -55,11 +55,6 @@ const EditCollection = ({ match }) => {
         message: ''
     })
 
-    const [errorInPrivacy, setErrorInPrivacy] = useState({
-        error: false,
-        message: ''
-    })
-
     const [snackInfo, setSnackInfo] = useState({
         message: '',
         icon: '',
@@ -77,11 +72,6 @@ const EditCollection = ({ match }) => {
         setName(e.target.value)
     }
 
-    //Verify if the string is empty
-    const isEmpty = (text) => {
-        return text.length === 0 ? true : false;
-    }
-
     // Fields
     const fields = [
         {
@@ -252,8 +242,6 @@ const EditCollection = ({ match }) => {
                             select
                             label="Privacidade"
                             value={privacy ? privacy : ""}
-                            error={errorInPrivacy.error}
-                            helperText={errorInPrivacy.error ? errorInPrivacy.errorMessage : ''}
                             style={{ marginBottom: '1em' }}
                             onChange={handleChange}
                         >
diff --git a/src/Admin/Components/Components/Inputs/EditEducationalObect.js b/src/Admin/Components/Components/Inputs/EditEducationalObect.js
index 19a31e07..f5eca683 100644
--- a/src/Admin/Components/Components/Inputs/EditEducationalObect.js
+++ b/src/Admin/Components/Components/Inputs/EditEducationalObect.js
@@ -16,7 +16,7 @@ GNU Affero General Public License for more details.
 You should have received a copy of the GNU Affero General Public License
 along with Plataforma Integrada MEC.  If not, see <http://www.gnu.org/licenses/>.*/
 
-import React, { useState, useEffect, useRef, useContext } from "react";
+import React, { useState, useEffect, useContext } from "react";
 import PropTypes from "prop-types";
 import SwipeableViews from "react-swipeable-views";
 import moment from "moment";
@@ -63,7 +63,7 @@ const useStyles = makeStyles((theme) => ({
 let text;
 
 const EditEducationalObject = ({ match }) => {
-    const { state, dispatch } = useContext(Store);
+    const { state } = useContext(Store);
 
     const theme = useTheme();
     const classes = useStyles();
@@ -83,7 +83,6 @@ const EditEducationalObject = ({ match }) => {
     const [objectType, setObjectType] = useState({});
     const [description, setDescription] = useState("");
     const [languagesID, setLanguagesID] = useState([]);
-    const [objectTypeID, setObjectTypeID] = useState();
     const [listOfLanguages, setListOfLanguages] = useState([]);
     const [listOfObjectTypes, setListOfObjectTypes] = useState([]);
 
@@ -412,12 +411,12 @@ const EditEducationalObject = ({ match }) => {
                 const objectLanguagesId = [];
                 data[0].language.map((lan) => objectLanguagesId.push(lan.id));
                 data[1].map((lan) => auxiliarLanguagesId.push(lan.id));
-                objectLanguagesId.map((lan) => {
+                for (let i = 0; i < objectLanguagesId.length; i++) {
+                    const lan = objectLanguagesId[i];
                     const index = auxiliarLanguagesId.indexOf(lan);
                     auxiliarLanguages.splice(index, 1);
                     auxiliarLanguagesId.splice(index, 1);
-                });
-
+                }
                 const auxiliarObjects = [...data[2]];
                 const auxiliarObjectsName = [];
                 const objectTypeName = data[0].object_type;
diff --git a/src/Admin/Components/Components/Inputs/EditLanguage.js b/src/Admin/Components/Components/Inputs/EditLanguage.js
index 9451cab1..8215429e 100644
--- a/src/Admin/Components/Components/Inputs/EditLanguage.js
+++ b/src/Admin/Components/Components/Inputs/EditLanguage.js
@@ -38,7 +38,7 @@ import { Link, useHistory } from 'react-router-dom';
 import Unauthorized from '../Unauthorized';
 
 const EditLanguage = ({ match }) => {
-    const { state, dispatch } = useContext(Store);
+    const { state } = useContext(Store);
     let history = useHistory()
 
     const [error, setError] = useState(null); //Necessary to consult the API, catch errors
@@ -109,12 +109,6 @@ const EditLanguage = ({ match }) => {
         setCode(e.target.value)
     }
 
-
-    //Verify if the string is empty
-    const isEmpty = (text) => {
-        return text.length === 0 ? true : false;
-    }
-
     // Fields
     const fields = [
         {
diff --git a/src/Admin/Components/Components/Inputs/EditRating.js b/src/Admin/Components/Components/Inputs/EditRating.js
index 2229d02f..a42363d6 100644
--- a/src/Admin/Components/Components/Inputs/EditRating.js
+++ b/src/Admin/Components/Components/Inputs/EditRating.js
@@ -37,7 +37,7 @@ import {Link} from 'react-router-dom';
 import Unauthorized from '../Unauthorized';
 
 const EditRating = ({ match }) => {
-    const { state, dispatch } = useContext(Store);
+    const { state } = useContext(Store);
 
     const [error, setError] = useState(null); //Necessary to consult the API, catch errors
     const [isLoaded, setIsLoaded] = useState(false); //Necessary to consult the API, wait until complete
diff --git a/src/Admin/Components/Components/Inputs/EditRoles.js b/src/Admin/Components/Components/Inputs/EditRoles.js
index 2920f84f..9b2ecaa1 100644
--- a/src/Admin/Components/Components/Inputs/EditRoles.js
+++ b/src/Admin/Components/Components/Inputs/EditRoles.js
@@ -39,7 +39,7 @@ import { Link, useHistory } from 'react-router-dom';
 import Unauthorized from '../Unauthorized';
 
 const EditLanguage = ({ match }) => {
-    const { state, dispatch } = useContext(Store);
+    const { state } = useContext(Store);
     let history = useHistory()
 
     const [error, setError] = useState(null); //Necessary to consult the API, catch errors
@@ -96,12 +96,6 @@ const EditLanguage = ({ match }) => {
         setDesc(e.target.value)
     }
 
-
-    //Verify if the string is empty
-    const isEmpty = (text) => {
-        return text.length === 0 ? true : false;
-    }
-
     // Fields
     const fields = [
         {
diff --git a/src/Admin/Components/Components/Inputs/EditUser.js b/src/Admin/Components/Components/Inputs/EditUser.js
index 2f14acc2..1dadf1b4 100644
--- a/src/Admin/Components/Components/Inputs/EditUser.js
+++ b/src/Admin/Components/Components/Inputs/EditUser.js
@@ -60,7 +60,7 @@ const useStyles = makeStyles((theme) => ({
 const EditUser = ({ match }) => {
     const classes = useStyles();
     let history = useHistory();
-    const { state, dispatch } = useContext(Store)
+    const { state } = useContext(Store)
     const id = match.params.id
 
     const [error, setError] = useState(id !== "-1" ? null : false); //Necessary to consult the API, catch errors
@@ -453,12 +453,13 @@ const EditUser = ({ match }) => {
                     const currRolesList = [...rolesList];
                     const auxiliarRolesId = [
                         1, 2, 3, 4, 5, 6, 7, 9, 10, 11
-                    ]
-                    data.roles.map((data) => {
-                        const index = auxiliarRolesId.indexOf(data.id);
+                    ] 
+                    for (let i = 0; i <  data.roles.length; i++) {
+                        const rol =  data.roles[i];
+                        const index = auxiliarRolesId.indexOf(rol.id);
                         currRolesList.splice(index, 1);
                         auxiliarRolesId.splice(index, 1);
-                    })
+                    }
                     setRolesList(currRolesList);
                     setName(data.name)
                     setEmail(data.email)
diff --git a/src/Admin/Components/Components/Inputs/EmailInputs.js b/src/Admin/Components/Components/Inputs/EmailInputs.js
index c5f63492..0b7a55e5 100644
--- a/src/Admin/Components/Components/Inputs/EmailInputs.js
+++ b/src/Admin/Components/Components/Inputs/EmailInputs.js
@@ -16,7 +16,7 @@ GNU Affero General Public License for more details.
 You should have received a copy of the GNU Affero General Public License
 along with Plataforma Integrada MEC.  If not, see <http://www.gnu.org/licenses/>.*/
 
-import React, { useState, useRef } from "react";
+import React, { useState } from "react";
 //material ui components
 import TextField from "@material-ui/core/TextField";
 import MenuItem from "@material-ui/core/MenuItem";
@@ -241,10 +241,11 @@ const EmailInputs = (props) => {
     const submitRequest = async () => {
         // setIsSending(true);
         const rolesArr = [];
-        roles.map((role) => {
+        for (let index = 0; index < roles.length; index++) {
+            const role = roles[index]
             if (role.isChecked)
                 rolesArr.push(role.value)
-        })
+        }
         console.log(rolesArr)
         console.log(sendToAll)
         const api = `/email`;
diff --git a/src/Admin/Components/Components/Inputs/IntitutionsInputs.js b/src/Admin/Components/Components/Inputs/IntitutionsInputs.js
index 66523e2a..a4098e68 100644
--- a/src/Admin/Components/Components/Inputs/IntitutionsInputs.js
+++ b/src/Admin/Components/Components/Inputs/IntitutionsInputs.js
@@ -40,7 +40,7 @@ import { Link } from 'react-router-dom';
 let id;
 
 const EditInstitution = ({ match }) => {
-    const { state, dispatch } = useContext(Store);
+    const { state } = useContext(Store);
 
     const [error, setError] = useState(null); //Necessary to consult the API, catch errors
     const [isLoaded, setIsLoaded] = useState(false); //Necessary to consult the API, wait until complete
@@ -98,12 +98,7 @@ const EditInstitution = ({ match }) => {
         }
         setCountry(e.target.value)
     }
-
-    // verify if the given text is empty
-    const isEmpty = (text) => {
-        return text ? false : true;
-    }
-
+    
     // Handle snack infos
     const HandleSnack = (message, state, icon, color) => {
         setSnackInfo({
diff --git a/src/Admin/Components/Components/Inputs/NoteVarInputs.js b/src/Admin/Components/Components/Inputs/NoteVarInputs.js
index ba19470f..8753d1a2 100644
--- a/src/Admin/Components/Components/Inputs/NoteVarInputs.js
+++ b/src/Admin/Components/Components/Inputs/NoteVarInputs.js
@@ -38,7 +38,7 @@ import { Link } from 'react-router-dom';
 import Unauthorized from '../Unauthorized';
 
 const NoteVarInputs = ({ match }) => {
-    const { state, dispatch } = useContext(Store);
+    const { state } = useContext(Store);
 
     const [error, setError] = useState(null); //Necessary to consult the API, catch errors
     const [isLoaded, setIsLoaded] = useState(false); //Necessary to consult the API, wait until complete
@@ -101,11 +101,6 @@ const NoteVarInputs = ({ match }) => {
         setWeight(e.target.value)
     }
 
-    //Verify if the string is empty
-    const isEmpty = (text) => {
-        return text.length === 0 ? true : false;
-    }
-
     // Fields
     const fields = [
         {
diff --git a/src/Admin/Components/Components/Table.js b/src/Admin/Components/Components/Table.js
index 2da01f13..5e74b53f 100644
--- a/src/Admin/Components/Components/Table.js
+++ b/src/Admin/Components/Components/Table.js
@@ -2,7 +2,6 @@ import React from 'react';
 // material ui componets
 import Table from '@material-ui/core/Table';
 import { withStyles, makeStyles } from '@material-ui/core/styles';
-import TableBody from '@material-ui/core/TableBody';
 import TableCell from '@material-ui/core/TableCell';
 import TableContainer from '@material-ui/core/TableContainer';
 import TableHead from '@material-ui/core/TableHead';
diff --git a/src/Admin/Pages/Pages/SubPages/AproveTeacher.js b/src/Admin/Pages/Pages/SubPages/AproveTeacher.js
index cb8d59bd..df9cbfff 100644
--- a/src/Admin/Pages/Pages/SubPages/AproveTeacher.js
+++ b/src/Admin/Pages/Pages/SubPages/AproveTeacher.js
@@ -36,7 +36,7 @@ import MenuItem from "@material-ui/core/MenuItem";
 import TableRow from "@material-ui/core/TableRow";
 import TextField from "@material-ui/core/TextField";
 import IconButton from "@material-ui/core/IconButton";
-import { Button, Typography, Paper, Grid, Zoom } from "@material-ui/core";
+import { Button, Typography, Paper, Grid } from "@material-ui/core";
 import CircularProgress from "@material-ui/core/CircularProgress";
 import AddRoundedIcon from "@material-ui/icons/AddRounded";
 import UpdateRoundedIcon from "@material-ui/icons/UpdateRounded";
@@ -77,7 +77,7 @@ const StyledTableRow = withStyles((theme) => ({
 }))(TableRow);
 
 const AproveTeacher = () => {
-    const { state, dispatch } = useContext(Store);
+    const { state } = useContext(Store);
     const WINDOW_WIDTH = window.innerWidth;
 
     const ADD_ONE_LENGHT = [""];
diff --git a/src/Admin/Pages/Pages/SubPages/CommunityQuestions.js b/src/Admin/Pages/Pages/SubPages/CommunityQuestions.js
index 6288249a..8941b8c8 100644
--- a/src/Admin/Pages/Pages/SubPages/CommunityQuestions.js
+++ b/src/Admin/Pages/Pages/SubPages/CommunityQuestions.js
@@ -69,7 +69,7 @@ const StyledTableRow = withStyles((theme) => ({
 }))(TableRow);
 
 const CommunityQuestion = () => {
-    const { state, dispatch } = useContext(Store);
+    const { state } = useContext(Store);
 
     const ADD_ONE_LENGHT = [""];
     const TOP_LABELS = [
diff --git a/src/Admin/Pages/Pages/SubPages/Complaints.js b/src/Admin/Pages/Pages/SubPages/Complaints.js
index 466836a8..452aaf76 100644
--- a/src/Admin/Pages/Pages/SubPages/Complaints.js
+++ b/src/Admin/Pages/Pages/SubPages/Complaints.js
@@ -71,7 +71,7 @@ const StyledTableRow = withStyles((theme) => ({
 }))(TableRow);
 
 const Complaints = () => {
-    const { state, dispatch } = useContext(Store);
+    const { state } = useContext(Store);
     const WINDOW_WIDTH = window.innerWidth
 
     const PORTAL_MEC = "https://plataformaintegrada.mec.gov.br/";
@@ -854,6 +854,7 @@ const Complaints = () => {
                                                                 color: "#FA8072",
                                                             }}
                                                             target="_blank"
+                                                            rel="noreferrer"
                                                             href={
                                                                 PORTAL_MEC +
                                                                 convertToLink(
diff --git a/src/Admin/Pages/Pages/SubPages/Inframe.js b/src/Admin/Pages/Pages/SubPages/Inframe.js
index ddd5c407..f2979dbb 100644
--- a/src/Admin/Pages/Pages/SubPages/Inframe.js
+++ b/src/Admin/Pages/Pages/SubPages/Inframe.js
@@ -25,12 +25,14 @@ const IframeComponent = () => {
             <Welcome />
             <div style={{ height: '1em' }}></div>
             <iframe
+                title="Métricas portal MEC"
                 src='https://metabase.c3sl.ufpr.br/public/dashboard/8ada315d-b8df-4b18-b7fb-d06b0ac64623'
                 height='800px'
                 width='100%'
                 // allowTransparency={true} 
                 frameBorder={0}
-            />
+            >
+            </iframe>
         </div>
     )
 }
diff --git a/src/Admin/Pages/Pages/SubPages/Permissions.js b/src/Admin/Pages/Pages/SubPages/Permissions.js
index 842ce3e0..a630739d 100644
--- a/src/Admin/Pages/Pages/SubPages/Permissions.js
+++ b/src/Admin/Pages/Pages/SubPages/Permissions.js
@@ -30,7 +30,6 @@ import { withStyles } from '@material-ui/core/styles';
 import TableBody from '@material-ui/core/TableBody';
 import TableCell from '@material-ui/core/TableCell';
 import TableRow from '@material-ui/core/TableRow';
-import IconButton from '@material-ui/core/IconButton';
 import { Button, Typography, Paper, Grid } from '@material-ui/core';
 import CircularProgress from '@material-ui/core/CircularProgress';
 import AddRoundedIcon from '@material-ui/icons/AddRounded';
diff --git a/src/Admin/Pages/Pages/SubPages/Questions.js b/src/Admin/Pages/Pages/SubPages/Questions.js
index 8f25ee68..8118ec31 100644
--- a/src/Admin/Pages/Pages/SubPages/Questions.js
+++ b/src/Admin/Pages/Pages/SubPages/Questions.js
@@ -66,7 +66,7 @@ const StyledTableRow = withStyles((theme) => ({
 }))(TableRow);
 
 const Questions = () => {
-    const { state, dispatch } = useContext(Store);
+    const { state } = useContext(Store);
 
     const ADD_ONE_LENGHT = [""];
     const WINDOW_WIDTH = window.innerWidth
diff --git a/src/Admin/Pages/Pages/SubPages/SendEmail.js b/src/Admin/Pages/Pages/SubPages/SendEmail.js
index e48e5361..5e9b05ed 100644
--- a/src/Admin/Pages/Pages/SubPages/SendEmail.js
+++ b/src/Admin/Pages/Pages/SubPages/SendEmail.js
@@ -57,7 +57,7 @@ const useStyles = makeStyles({
 });
 
 const SendEmail = ({ match }) => {
-    const { state, dispatch } = useContext(Store);
+    const { state } = useContext(Store);
     const classes = useStyles();
 
     const CheckUserPermission = () => {
diff --git a/src/App.js b/src/App.js
index 589411d3..03cb3cad 100644
--- a/src/App.js
+++ b/src/App.js
@@ -53,7 +53,7 @@ import FormationMaterialIframe from "./Pages/FormationMaterialIframe.js";
 import MaterialPage from "./Pages/MaterialPage";
 
 //material ui
-import { Tab, Tabs, Paper } from "@material-ui/core";
+import { Tab, Tabs } from "@material-ui/core";
 
 //admin
 import { makeStyles } from "@material-ui/core/styles";
@@ -144,20 +144,11 @@ const useStyles = makeStyles({
   },
 });
 
-const fab = {
-  margin: 0,
-  top: "auto",
-  right: 20,
-  bottom: 20,
-  left: "auto",
-  position: "fixed",
-};
-
 export default function App() {
   // eslint-disable-next-line
   const classes = useStyles();
 
-  const { state, dispatch } = useContext(Store);
+  const { dispatch } = useContext(Store);
   const [hideFooter, setHideFooter] = useState(false);
   const [value, setValue] = React.useState(0);
 
diff --git a/src/Components/MobileDrawerMenu.js b/src/Components/MobileDrawerMenu.js
index 59a723e9..67e0b6cd 100644
--- a/src/Components/MobileDrawerMenu.js
+++ b/src/Components/MobileDrawerMenu.js
@@ -30,11 +30,6 @@ import { ButtonStyled } from './MenuBar'
 import ExitToAppIcon from '@material-ui/icons/ExitToApp'
 import { Button } from '@material-ui/core';
 import DefaultAvatar from '../img/default_profile0.png'
-import CloudUploadIcon from '@material-ui/icons/CloudUpload';
-import CloudDoneIcon from '@material-ui/icons/CloudDone';
-import HistoryIcon from '@material-ui/icons/History';
-import FavoriteBorderIcon from '@material-ui/icons/FavoriteBorder';
-import FolderOpenIcon from '@material-ui/icons/FolderOpen';
 import SettingsIcon from '@material-ui/icons/Settings';
 import { apiDomain } from '../env.js'
 import { deleteRequest } from './HelperFunctions/getAxiosConfig'
diff --git a/src/Components/SearchBar.js b/src/Components/SearchBar.js
index ac1eef5e..c3db1516 100644
--- a/src/Components/SearchBar.js
+++ b/src/Components/SearchBar.js
@@ -17,7 +17,7 @@ You should have received a copy of the GNU Affero General Public License
 along with Plataforma Integrada MEC.  If not, see <http://www.gnu.org/licenses/>.*/
 
 import React, { useState, useEffect, useContext } from 'react'
-import { Redirect, useHistory } from 'react-router-dom'
+import { Redirect } from 'react-router-dom'
 
 import IconSearch from '@material-ui/icons/Search'
 
diff --git a/src/Pages/MaterialPage.js b/src/Pages/MaterialPage.js
index 23866674..9b243b8b 100644
--- a/src/Pages/MaterialPage.js
+++ b/src/Pages/MaterialPage.js
@@ -25,8 +25,6 @@ import ExpandedMaterial from "../Components/ExpandedMaterials";
 import styled from "styled-components";
 import Breadcrumbs from "@material-ui/core/Breadcrumbs";
 import { Link } from "react-router-dom";
-import { Paper } from "@material-ui/core";
-
 const MateriaPage = () => {
     const materials = colecoes_obj();
 
@@ -67,7 +65,6 @@ const MateriaPage = () => {
                     <Carousel
                         style={{ padding: "20px" }}
                         showThumbs={false}
-                        infiniteLoop={true}
                         showStatus={false}
                     >
                         <Row>
@@ -143,6 +140,6 @@ const StyledTitle = styled.span`
     text-align: center;
     color: #e81f4f; 
     font-size: 26px;
-    font-family: "Roboto", regular;
+    font-family: "Roboto", sans-serif;
     font-weight: 100;
 `
\ No newline at end of file
-- 
GitLab