diff --git a/src/Components/CloseModalButton.js b/src/Components/CloseModalButton.js new file mode 100644 index 0000000000000000000000000000000000000000..59e5c46c4e417fd8cd6c241139bc409ed3067b25 --- /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 395f305fab1546d612c17c80df513fb5f1eda9cd..cc2e2950c326e7c898f65ea3b8f6d8a40a26a761 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 70b724c022d78a642374fd934e6d808f8ff2a4bf..9b04f2dd04da1c6e3a71a5cb26a0839da1470ce4 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 49b96262021c2d7f2ef1f81cfade4e5afd7d0336..fd835a17ad8b37d74eea8a242a8e71304e182a60 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 1cc29c0f2c7fd098006ace20f7d1086c291fc666..361645e47b00b59106bc9cdb4ad7db45a6568536 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 7b2060f5d40fec1594801d148248e21257dcfea9..01ccf37bca84035048722dc7e1175c0c4b03a3f9 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 f82c24c668af5f5063c0cbfbffca422ef5cf0093..cb1fe4985555d702fe02931857b2f35b1de31110 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 ccdc075a1565fb8a139d21a0c8ffe1f951555fc1..aaf89d2182dfb74eedb1da3228ea950ae5880e76 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 65f72448929b8d24389c8fbffbc9d834524a7833..9f96c8d0f2b886bff106b27a6751130f33eedcbf 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 4517732b096fb959792360634750dbf71249d69c..6e546fc653c2e75328bfed156622b66bd48babdf 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 84f6981adf472c5ee88dd66315f14ec93d3ddfff..0698c94b2a09389d8f787f36bc29c5975ea390b0 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 d354f41723f8d9c23b36f97dec54f63567a2856c..86636826010d9e129fd22192535c8aec56c310ed 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 6d1ee356259ba6a825e76f273faaefdab8b764dd..cc15d0b9a40e1aea666cf453fc67af1df6abc7f6 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 17e402a6c0c992b5f130d3f2a2d0ddc877905051..88ceeceff8c5c798b2e1fe85872451a43178172e 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 05d49f3bbc1ef2f412cb6109dc3bd51ceaa3040a..cc25a3b4aeb1f0fad21b2d9f56e6b9d6f915c719 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 b41d72ddefaf5a65f6c7b3dc02c7ab6d8b37094c..bc786eca8e32d73651fcb3b7f279b0aa9b0a5180 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 349eb13ab30e318488d53c69cb30a8e3e65bbbce..16a8c269b0120c0e08d4dbb921ad3aba3b1f919f 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 27258099ed9c07e761005b253c576522587ca605..afebc50bc5a4d2a912eeee03bfdef8517843e070 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 84e072a1d7fc1ab1f552d463892d5a5a010dd102..2f6adf918b6eb51e7749bd34bbe01942422d38e2 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 d130368afd5db70a6c213e826a8cb2cb964fc504..8216e930831263b833e262255ec130fa1d66ef9f 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 a9e25cfde32dac52ff39d0c385f41d74002dc1b9..67f6b3d315b5f1ae8669cac3c665c6b2fae88080 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 33b5c599c25c6276d50019516ee324e395048fd6..5bf48e62394fe4a55f2cd3d23edbd7c6f6c08195 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 550ac75f94c16b4aa6bb42c6a5fe0174db3054a4..b4c156af213fcc92dd57daa0996ce4a40d8381b6 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}