From 7108d8ec4c5350df0bc5e714be01b362b3be88bd Mon Sep 17 00:00:00 2001
From: Lucas Schoenfelder <les17@inf.ufpr.br>
Date: Thu, 28 May 2020 10:28:31 -0300
Subject: [PATCH] fixed console errors

---
 src/Components/CloseModalButton.js            | 22 ++++++++
 src/Components/ColaborarModal.js              |  4 +-
 src/Components/CriarColecaoModal.js           |  4 +-
 src/Components/GuardarModal.js                |  4 +-
 src/Components/Header.js                      |  2 +-
 src/Components/IllegalContentModal.js         |  4 +-
 src/Components/LoginComponent.js              |  6 +--
 src/Components/LoginContainer.js              |  2 +-
 src/Components/LoginModal.js                  |  3 +-
 src/Components/MenuBar.js                     |  4 --
 .../ModalAlterarAvatar/ModalAlterarAvatar.js  |  4 +-
 .../ModalAlterarCover/ModalAlterarCover.js    |  4 +-
 src/Components/ModalConfirmarUnfollow.js      |  4 +-
 src/Components/ModalExcluirComentario.js      |  4 +-
 .../ModalConfirmarProfessor.js                |  4 +-
 src/Components/RedirectModal.js               |  3 +-
 src/Components/ReportModal.js                 |  4 +-
 .../ResourcePageComponents/CommentsArea.js    |  9 +---
 .../ResourcePageComponents/Footer.js          | 52 ++++++++++++++++---
 .../ResourcePageComponents/Sobre.js           | 12 +++--
 .../ResourcePageComponents/TextoObjeto.js     |  2 +-
 src/Components/ShareModal.js                  | 16 +-----
 src/Components/SignUpModal.js                 |  4 +-
 23 files changed, 106 insertions(+), 71 deletions(-)
 create mode 100644 src/Components/CloseModalButton.js

diff --git a/src/Components/CloseModalButton.js b/src/Components/CloseModalButton.js
new file mode 100644
index 00000000..59e5c46c
--- /dev/null
+++ b/src/Components/CloseModalButton.js
@@ -0,0 +1,22 @@
+import React from 'react';
+import { Button } from '@material-ui/core';
+import styled from 'styled-components'
+import CloseIcon from '@material-ui/icons/Close';
+
+export default function CloseModalButton (props) {
+    return (
+        <StyledCloseModalButton onClick={props.handleClose}>
+            <CloseIcon/>
+        </StyledCloseModalButton>
+    )
+}
+
+const StyledCloseModalButton = styled(Button)`
+    display : inline-block;
+    position : relative;
+    float : right !important;
+    margin-right : -8px !important;
+    background : transparent !important;
+    min-width: 0 !important;
+    width : 40px;
+`
diff --git a/src/Components/ColaborarModal.js b/src/Components/ColaborarModal.js
index 395f305f..cc2e2950 100644
--- a/src/Components/ColaborarModal.js
+++ b/src/Components/ColaborarModal.js
@@ -86,8 +86,8 @@ export default function ColaborarModal (props) {
             aria-labelledby="transition-modal-title"
             aria-describedby="transition-modal-description"
             open={props.open}
-            animation={true}
-            centered={true}
+             
+            centered="true"
             onClose={props.handleClose}
             closeAfterTransition
             BackdropComponent={Backdrop}
diff --git a/src/Components/CriarColecaoModal.js b/src/Components/CriarColecaoModal.js
index 70b724c0..9b04f2dd 100644
--- a/src/Components/CriarColecaoModal.js
+++ b/src/Components/CriarColecaoModal.js
@@ -40,8 +40,8 @@ export default function CriarColecaoModal (props) {
             aria-labelledby="transition-modal-title"
             aria-describedby="transition-modal-description"
             open={props.open}
-            animation={true}
-            centered={true}
+             
+            centered="true"
             onClose={props.handleClose}
             closeAfterTransition
             BackdropComponent={Backdrop}
diff --git a/src/Components/GuardarModal.js b/src/Components/GuardarModal.js
index 49b96262..fd835a17 100644
--- a/src/Components/GuardarModal.js
+++ b/src/Components/GuardarModal.js
@@ -102,8 +102,8 @@ export default function ReportModal (props) {
             aria-labelledby="transition-modal-title"
             aria-describedby="transition-modal-description"
             open={props.open}
-            animation={true}
-            centered={true}
+             
+            centered="true"
             onClose={props.handleClose}
             closeAfterTransition
             BackdropComponent={Backdrop}
diff --git a/src/Components/Header.js b/src/Components/Header.js
index 1cc29c0f..361645e4 100644
--- a/src/Components/Header.js
+++ b/src/Components/Header.js
@@ -70,7 +70,7 @@ export default function Header(props){
       <>
           <AcessibilityBar/>
           <Snackbar open={successfulLoginOpen} autoHideDuration={1000} onClose={toggleSnackbar}
-          anchorOrigin = {{ vertical:'top', horizontal:'middle' }}
+          anchorOrigin = {{ vertical:'top', horizontal:'center' }}
           >
               <Alert severity="success" style={{backgroundColor:"#00acc1"}}>Você está conectado(a)!</Alert>
           </Snackbar>
diff --git a/src/Components/IllegalContentModal.js b/src/Components/IllegalContentModal.js
index 7b2060f5..01ccf37b 100644
--- a/src/Components/IllegalContentModal.js
+++ b/src/Components/IllegalContentModal.js
@@ -100,8 +100,8 @@ export default function IllegalContentModal (props) {
         aria-labelledby="transition-modal-title"
         aria-describedby="transition-modal-description"
         open={props.open}
-        animation={true}
-        centered={true}
+         
+        centered="true"
         onClose={props.handleClose}
         closeAfterTransition
         BackdropComponent={Backdrop}
diff --git a/src/Components/LoginComponent.js b/src/Components/LoginComponent.js
index f82c24c6..cb1fe498 100644
--- a/src/Components/LoginComponent.js
+++ b/src/Components/LoginComponent.js
@@ -122,10 +122,10 @@ export default function LoginComponent (props) {
 
         <StyledLogin
             aria-labelledby="transition-modal-title"
-            aria-describedby="transition-modal-description"
+            aria-describedby="transition-modal-description"   
             open={props.open}
-            animation={true}
-            centered={true}
+            animation="true"
+            centered="true"
             onClose={props.handleClose}
             closeAfterTransition
             BackdropComponent={Backdrop}
diff --git a/src/Components/LoginContainer.js b/src/Components/LoginContainer.js
index ccdc075a..aaf89d21 100644
--- a/src/Components/LoginContainer.js
+++ b/src/Components/LoginContainer.js
@@ -107,7 +107,7 @@ class LoginContainer extends Component {
                         </H3Styled>
                     </H3Div>
 
-                    <form ref="form" onSubmit={this.onSubmit}>
+                    <form onSubmit={this.onSubmit}>
                         <FormInput
                             inputType={"text"}
                             name={"email"}
diff --git a/src/Components/LoginModal.js b/src/Components/LoginModal.js
index 65f72448..9f96c8d0 100644
--- a/src/Components/LoginModal.js
+++ b/src/Components/LoginModal.js
@@ -114,8 +114,7 @@ export default function LoginModal (props){
             aria-labelledby="transition-modal-title"
             aria-describedby="transition-modal-description"
             open={props.open}
-            animation={true}
-            centered={true}
+            centered="true"
             onClose={props.handleClose}
             closeAfterTransition
             BackdropComponent={Backdrop}
diff --git a/src/Components/MenuBar.js b/src/Components/MenuBar.js
index 4517732b..6e546fc6 100644
--- a/src/Components/MenuBar.js
+++ b/src/Components/MenuBar.js
@@ -136,7 +136,6 @@ export default function MenuBar(props){
         {
             state.userIsLoggedIn
             ? (
-                [
                     <>
                         <div style={{boxSizing:"border-box"}}>
                             <Link to="/termos-publicar-recurso">
@@ -157,16 +156,13 @@ export default function MenuBar(props){
                         <MenuList items={minhaArea}/>
 
                     </>
-                ]
             )
             : (
-                [
                     <React.Fragment>
                         <ButtonPubRecursoStyled onClick={props.openLogin}>PUBLICAR RECURSO?</ButtonPubRecursoStyled>
                         <ButtonStyled onClick={props.openLogin}><ExitToAppIcon style={{color:"#00bcd4"}}/>Entrar</ButtonStyled>
                         <ButtonStyled onClick={props.openSignUp}>Cadastre-se</ButtonStyled>
                     </React.Fragment>
-                ]
             )
         }
 
diff --git a/src/Components/ModalAlterarAvatar/ModalAlterarAvatar.js b/src/Components/ModalAlterarAvatar/ModalAlterarAvatar.js
index 84f6981a..0698c94b 100644
--- a/src/Components/ModalAlterarAvatar/ModalAlterarAvatar.js
+++ b/src/Components/ModalAlterarAvatar/ModalAlterarAvatar.js
@@ -45,8 +45,8 @@ export default function ModarAlterarAvatar (props){
             aria-labelledby="transition-modal-title"
             aria-describedby="transition-modal-description"
             open={props.open}
-            animation={true}
-            centered={true}
+             
+            centered="true"
             onClose={props.handleClose}
             closeAfterTransition
             BackdropComponent={Backdrop}
diff --git a/src/Components/ModalAlterarCover/ModalAlterarCover.js b/src/Components/ModalAlterarCover/ModalAlterarCover.js
index d354f417..86636826 100644
--- a/src/Components/ModalAlterarCover/ModalAlterarCover.js
+++ b/src/Components/ModalAlterarCover/ModalAlterarCover.js
@@ -62,8 +62,8 @@ export default function ModarAlterarCover (props){
             aria-labelledby="transition-modal-title"
             aria-describedby="transition-modal-description"
             open={props.open}
-            animation={true}
-            centered={true}
+             
+            centered="true"
             onClose={props.handleClose}
             closeAfterTransition
             BackdropComponent={Backdrop}
diff --git a/src/Components/ModalConfirmarUnfollow.js b/src/Components/ModalConfirmarUnfollow.js
index 6d1ee356..cc15d0b9 100644
--- a/src/Components/ModalConfirmarUnfollow.js
+++ b/src/Components/ModalConfirmarUnfollow.js
@@ -67,8 +67,8 @@ export default function IllegalContentModal (props) {
         aria-labelledby="transition-modal-title"
         aria-describedby="transition-modal-description"
         open={props.open}
-        animation={true}
-        centered={true}
+         
+        centered="true"
         onClose={props.handleClose}
         closeAfterTransition
         BackdropComponent={Backdrop}
diff --git a/src/Components/ModalExcluirComentario.js b/src/Components/ModalExcluirComentario.js
index 17e402a6..88ceecef 100644
--- a/src/Components/ModalExcluirComentario.js
+++ b/src/Components/ModalExcluirComentario.js
@@ -69,8 +69,8 @@ export default function ModalExcluir (props) {
         aria-labelledby="transition-modal-title"
         aria-describedby="transition-modal-description"
         open={props.open}
-        animation={true}
-        centered={true}
+         
+        centered="true"
         onClose={props.handleClose}
         closeAfterTransition
         BackdropComponent={Backdrop}
diff --git a/src/Components/PageProfessorComponents/ModalConfirmarProfessor.js b/src/Components/PageProfessorComponents/ModalConfirmarProfessor.js
index 05d49f3b..cc25a3b4 100644
--- a/src/Components/PageProfessorComponents/ModalConfirmarProfessor.js
+++ b/src/Components/PageProfessorComponents/ModalConfirmarProfessor.js
@@ -41,8 +41,8 @@ export default function ModalConfirmarProfessor (props){
             aria-labelledby="transition-modal-title"
             aria-describedby="transition-modal-description"
             open={props.open}
-            animation={true}
-            centered={true}
+             
+            centered="true"
             onClose={props.handleClose}
             closeAfterTransition
             BackdropComponent={Backdrop}
diff --git a/src/Components/RedirectModal.js b/src/Components/RedirectModal.js
index b41d72dd..bc786eca 100644
--- a/src/Components/RedirectModal.js
+++ b/src/Components/RedirectModal.js
@@ -53,8 +53,7 @@ export default function RedirectModal (props) {
             aria-labelledby="transition-modal-title"
             aria-describedby="transition-modal-description"
             open={props.open}
-            animation={true}
-            centered={true}
+            centered="true"
             onClose={props.handleClose}
             closeAfterTransition
             BackdropComponent={Backdrop}
diff --git a/src/Components/ReportModal.js b/src/Components/ReportModal.js
index 349eb13a..16a8c269 100644
--- a/src/Components/ReportModal.js
+++ b/src/Components/ReportModal.js
@@ -89,8 +89,8 @@ export default function ReportModal (props) {
             aria-labelledby="transition-modal-title"
             aria-describedby="transition-modal-description"
             open={props.open}
-            animation={true}
-            centered={true}
+             
+            centered="true"
             onClose={props.handleClose}
             closeAfterTransition
             BackdropComponent={Backdrop}
diff --git a/src/Components/ResourcePageComponents/CommentsArea.js b/src/Components/ResourcePageComponents/CommentsArea.js
index 27258099..afebc50b 100644
--- a/src/Components/ResourcePageComponents/CommentsArea.js
+++ b/src/Components/ResourcePageComponents/CommentsArea.js
@@ -50,7 +50,6 @@ export default function CommentsArea (props) {
             {
                 (state.currentUser.id !== '') ?
                 (
-                    [
                         <Grid item xs={12} >
                             <GrayContainer>
                                 <h3>Conte sua experiência com o Recurso</h3>
@@ -63,16 +62,15 @@ export default function CommentsArea (props) {
                                             recursoId={props.recursoId}
                                             handleSnackbar={props.handleSnackbar}
                                             rerenderCallback={forceUpdate}
+                                            recurso={true}
                                             />
                                     </Grid>
                                 </Grid>
                             </GrayContainer>
                         </Grid>
-                    ]
                 )
                 :
                 (
-                    [
                         <Grid item xs={12}>
                             <LogInToComment>
                                 <span className="span-laranja">Você precisa entrar para comentar</span>
@@ -82,13 +80,11 @@ export default function CommentsArea (props) {
                                  </Button>
                             </LogInToComment>
                         </Grid>
-                    ]
                 )
             }
             {
                 comentarios.length !== 0 ?
                 (
-                    [
                             <ComentariosBox>
                                 <h3>{comentarios.length} {comentarios.length != 1 ? 'Relatos' : 'Relato'} sobre o uso do Recurso</h3>
                                 {
@@ -113,11 +109,9 @@ export default function CommentsArea (props) {
                                     )
                                 }
                             </ComentariosBox>
-                    ]
                 )
                 :
                 (
-                    [
                         <Grid item xs={12}>
                             <LogInToComment>
                                 <img src={Comentarios} />
@@ -127,7 +121,6 @@ export default function CommentsArea (props) {
                                 </AoRelatar>
                             </LogInToComment>
                         </Grid>
-                    ]
                 )
             }
         </Grid>
diff --git a/src/Components/ResourcePageComponents/Footer.js b/src/Components/ResourcePageComponents/Footer.js
index 84e072a1..2f6adf91 100644
--- a/src/Components/ResourcePageComponents/Footer.js
+++ b/src/Components/ResourcePageComponents/Footer.js
@@ -1,3 +1,21 @@
+/*Copyright (C) 2019 Centro de Computacao Cientifica e Software Livre
+Departamento de Informatica - Universidade Federal do Parana
+
+This file is part of Plataforma Integrada MEC.
+
+Plataforma Integrada MEC is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Plataforma Integrada MEC is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+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, useContext} from 'react'
 import {Store} from '../../Store.js'
 import styled from 'styled-components'
@@ -13,6 +31,7 @@ import ReportModal from '../ReportModal.js'
 import ReportRecursoForm from '../ReportRecursoForm.js'
 import ShareModal from '../ShareModal.js'
 import GuardarModal from '../GuardarModal.js'
+import RedirectModal from '../RedirectModal'
 
 export default function Footer (props) {
     const {state} = useContext(Store)
@@ -25,6 +44,7 @@ export default function Footer (props) {
     const [reportOpen, toggleReport] = useState(false)
     const [shareOpen, toggleShare] = useState(false)
     const [saveToCol, toggleSave] = useState(false)
+    const [redirectOpen, toggleRedirect] = useState(false)
 
     return (
         <React.Fragment>
@@ -34,13 +54,16 @@ export default function Footer (props) {
                 complainableType={"LearningObject"}
                 />
             <ShareModal open={shareOpen} handleClose={() => {toggleShare(false)}}
-                thumb={props.thumb} title={props.title} link={props.link}
+                thumb={props.thumb} title={props.title} link={props.currPageLink}
                 />
 
             <GuardarModal open={saveToCol} handleClose={() => {toggleSave(false)}}
                 thumb={props.thumb} title={props.title} recursoId={props.recursoId}
                 handleSnackbar={props.handleSnackbar}
                 />
+            <RedirectModal open={redirectOpen} handleClose={() => {toggleRedirect(false)}}
+                link={props.link}
+                />
             <OpcoesDiv>
                 <StyledGrid container>
 
@@ -71,13 +94,26 @@ export default function Footer (props) {
                         </ButtonGrey>
                     </Grid>
 
-                    <Grid item xs={3} style={{justifyContent : "right !important"}}>
-                        <ButtonOrange onClick={() => {enableDownload()}}>
-                            <span className="text">
-                                <GetAppIcon className="icon"/> Baixar Recurso
-                            </span>
-                        </ButtonOrange>
-                    </Grid>
+                    {
+                        props.downloadableLink &&
+                        <Grid item xs={3} style={{justifyContent : "right !important"}}>
+                            <ButtonOrange onClick={() => {enableDownload()}}>
+                                <span className="text">
+                                    <GetAppIcon className="icon"/> Baixar Recurso
+                                    </span>
+                                </ButtonOrange>
+                        </Grid>
+                    }
+                    {
+                        (!props.downloadableLink && props.link ) &&
+                        <Grid item xs={3} style={{justifyContent : "right !important"}}>
+                            <ButtonOrange onClick={() => {toggleRedirect(true)}}>
+                                <span className="text">
+                                    <CallMadeIcon className="icon"/> Abrir Recurso
+                                    </span>
+                                </ButtonOrange>
+                        </Grid>
+                    }
 
                 </StyledGrid>
             </OpcoesDiv>
diff --git a/src/Components/ResourcePageComponents/Sobre.js b/src/Components/ResourcePageComponents/Sobre.js
index d130368a..8216e930 100644
--- a/src/Components/ResourcePageComponents/Sobre.js
+++ b/src/Components/ResourcePageComponents/Sobre.js
@@ -61,6 +61,7 @@ export default function Sobre (props) {
                 icon={<SdCardIcon/>}
                 label={'Tamanho: '}
                 value={(props.attachments[0].size / 1000000).toFixed(2) + ' Mb'}
+                key={props.attachments[0].id}
                 />)
         }
         props.language.map( (lang) =>
@@ -76,6 +77,7 @@ export default function Sobre (props) {
                 icon={<InsertDriveFileIcon/>}
                 label={'Formato: '}
                 value={props.mimeType}
+                key={props.mimeType}
                 />)
         }
         if (props.createdAt) {
@@ -83,6 +85,7 @@ export default function Sobre (props) {
                 icon={<DateRangeIcon/>}
                 label={'Data de Envio: '}
                 value={moment(props.createdAt).format("DD/MM/YYYY")}
+                key={"dateCreatedAt"}
                 />)
         }
         if (props.updatedAt) {
@@ -90,6 +93,7 @@ export default function Sobre (props) {
                 icon={<UpdateIcon/>}
                 label={'Modificado em: '}
                 value={moment(props.createdAt).format("DD/MM/YYYY")}
+                key={"dateUpdatedAt"}
                 />)
         }
         if (props.license) {
@@ -105,7 +109,9 @@ export default function Sobre (props) {
                             {props.license.name}<br/>4.0 Internacional
                         </p>
                     </div>
-                }/>)
+                }
+                key={props.license.id}
+                />)
         }
         else {
             aux.push(<AdditionalInfoItem
@@ -197,21 +203,17 @@ export default function Sobre (props) {
                     {
                         collapsed ?
                         (
-                            [
                                 <React.Fragment>
                                     <span>VER MENOS</span>
                                     <ExpandLessIcon/>
                                 </React.Fragment>
-                            ]
                         )
                         :
                         (
-                            [
                                 <React.Fragment>
                                     <span>VER MAIS</span>
                                     <ExpandMoreIcon/>
                                 </React.Fragment>
-                            ]
                         )
                     }
                 </CollapseControl>
diff --git a/src/Components/ResourcePageComponents/TextoObjeto.js b/src/Components/ResourcePageComponents/TextoObjeto.js
index a9e25cfd..67f6b3d3 100644
--- a/src/Components/ResourcePageComponents/TextoObjeto.js
+++ b/src/Components/ResourcePageComponents/TextoObjeto.js
@@ -81,7 +81,7 @@ export default function TextoObjeto (props) {
 
                     {
                         infos.map( (info) =>
-                            <span className={"info-recurso"}>
+                            <span className={"info-recurso"} key={info.label}>
                                 <span className={"info-cabecalho-recurso"}>{info.label}</span>
                                 <span className={"dado-recurso"}>{info.text}</span>
                             </span>
diff --git a/src/Components/ShareModal.js b/src/Components/ShareModal.js
index 33b5c599..5bf48e62 100644
--- a/src/Components/ShareModal.js
+++ b/src/Components/ShareModal.js
@@ -26,20 +26,11 @@ import SignUpContainer from './SignUpContainerFunction.js'
 import {Store} from '../Store.js'
 import axios from 'axios'
 import {apiDomain} from '../env';
-import CloseIcon from '@material-ui/icons/Close';
 import Grid from '@material-ui/core/Grid';
 import Facebook from '../img/facebook.svg'
 import Twitter from '../img/twitter.svg'
 import LinkIcon from '../img/link_icon.svg'
-
-
-function CloseModalButton (props) {
-    return (
-        <StyledCloseModalButton onClick={props.handleClose}>
-            <CloseIcon/>
-        </StyledCloseModalButton>
-    )
-}
+import CloseModalButton from './CloseModalButton.js'
 
 export default function ReportModal (props) {
         const pRef = useRef(props.link);
@@ -48,8 +39,6 @@ export default function ReportModal (props) {
           console.log(pRef.current)
         pRef.current.select();
         document.execCommand('copy');
-        // This is just personal preference.
-        // I prefer to not show the the whole text area selected.
         e.target.focus();
       };
 
@@ -58,8 +47,7 @@ export default function ReportModal (props) {
             aria-labelledby="transition-modal-title"
             aria-describedby="transition-modal-description"
             open={props.open}
-            animation={true}
-            centered={true}
+            centered="true"
             onClose={props.handleClose}
             closeAfterTransition
             BackdropComponent={Backdrop}
diff --git a/src/Components/SignUpModal.js b/src/Components/SignUpModal.js
index 550ac75f..b4c156af 100644
--- a/src/Components/SignUpModal.js
+++ b/src/Components/SignUpModal.js
@@ -92,8 +92,8 @@ export default function SignUpModal (props) {
             aria-labelledby="transition-modal-title"
             aria-describedby="transition-modal-description"
             open={props.open}
-            animation={true}
-            centered={true}
+             
+            centered="true"
             onClose={props.handleClose}
             closeAfterTransition
             BackdropComponent={Backdrop}
-- 
GitLab