Skip to content
Snippets Groups Projects
Commit 774932e4 authored by lfr20's avatar lfr20
Browse files

Fixed the menu of the card

parent 0897032a
No related branches found
No related tags found
6 merge requests!57Merge of develop into master,!56Fixed buttons reportar, seguir, compartilhar, guardar and entrar (in comments...,!39Update admin system,!32Homologa,!31Fix console error,!28Training materials
...@@ -16,8 +16,8 @@ GNU Affero General Public License for more details. ...@@ -16,8 +16,8 @@ GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License 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/>.*/ along with Plataforma Integrada MEC. If not, see <http://www.gnu.org/licenses/>.*/
import React, {useContext, useState} from 'react'; import React, { useContext, useState } from 'react';
import {Store} from '../Store.js' import { Store } from '../Store.js'
import styled from 'styled-components' import styled from 'styled-components'
import Button from '@material-ui/core/Button'; import Button from '@material-ui/core/Button';
import Menu from '@material-ui/core/Menu'; import Menu from '@material-ui/core/Menu';
...@@ -27,16 +27,22 @@ import MoreVertIcon from '@material-ui/icons/MoreVert'; ...@@ -27,16 +27,22 @@ import MoreVertIcon from '@material-ui/icons/MoreVert';
import OpenIcon from '@material-ui/icons/OpenInNew'; import OpenIcon from '@material-ui/icons/OpenInNew';
import ReportIcon from '@material-ui/icons/Error'; import ReportIcon from '@material-ui/icons/Error';
import ReportModal from './ReportModal.js' import ReportModal from './ReportModal.js'
import {Link} from 'react-router-dom' import { Link } from 'react-router-dom'
import DownloadIcon from '@material-ui/icons/CloudDownload'; import DownloadIcon from '@material-ui/icons/CloudDownload';
import ShareIcon from '@material-ui/icons/Share'; import ShareIcon from '@material-ui/icons/Share';
import AddIcon from '@material-ui/icons/CreateNewFolder'; import AddIcon from '@material-ui/icons/CreateNewFolder';
import GuardarModal from './GuardarModal' import GuardarModal from './GuardarModal'
import ShareModal from './ShareModal' import ShareModal from './ShareModal'
import SnackbarComponent from './SnackbarComponent' import SnackbarComponent from './SnackbarComponent'
import OpenInBrowserIcon from '@material-ui/icons/OpenInBrowser';
export default function ResourceCardOptions (props) { import Tooltip from '@material-ui/core/Tooltip';
const {state} = useContext(Store) import SignUpModal from './SignUpModal'
import LoginModal from './LoginModal.js'
import Snackbar from '@material-ui/core/Snackbar';
import MuiAlert from '@material-ui/lab/Alert';
export default function ResourceCardOptions(props) {
const { state } = useContext(Store)
const [anchorEl, setAnchorEl] = React.useState(null); const [anchorEl, setAnchorEl] = React.useState(null);
function handleClick(event) { function handleClick(event) {
...@@ -60,8 +66,8 @@ export default function ResourceCardOptions (props) { ...@@ -60,8 +66,8 @@ export default function ResourceCardOptions (props) {
const [saveToCol, toggleSave] = useState(false) const [saveToCol, toggleSave] = useState(false)
const handleGuardar = () => { const handleGuardar = () => {
if(state.currentUser.id === '') { if (!state.currentUser.id) {
console.log('abrir login modal'); handleLogin();
} }
else { else {
toggleSave(true); toggleSave(true);
...@@ -78,8 +84,8 @@ export default function ResourceCardOptions (props) { ...@@ -78,8 +84,8 @@ export default function ResourceCardOptions (props) {
const [shareOpen, toggleShare] = useState(false) const [shareOpen, toggleShare] = useState(false)
const handleShare = () => { const handleShare = () => {
if(state.currentUser.id === '') { if (!state.currentUser.id) {
console.log('abrir login modal'); handleLogin()
} }
else { else {
toggleShare(true); toggleShare(true);
...@@ -87,65 +93,109 @@ export default function ResourceCardOptions (props) { ...@@ -87,65 +93,109 @@ export default function ResourceCardOptions (props) {
handleClose() handleClose()
} }
const getShareablePageLink = () => { const getShareablePageLink = () => {
return (window.location.href + "/recurso/" + props.learningObjectId) return (window.origin + "/recurso/" + props.learningObjectId)
}
const handleSignUp = () => {
setSignUp(!signUpOpen)
}
const handleLogin = () => {
setLogin(!loginOpen)
}
function Alert(props) {
return <MuiAlert elevation={6} variant="filled" {...props} />;
}
function toggleLoginSnackbar(reason) {
if (reason === 'clickaway') {
return;
}
handleSuccessfulLogin(false);
} }
const [snackbarOpen, toggleSnackbar] = useState(false) const [snackbarOpen, toggleSnackbar] = useState(false)
const [signUpOpen, setSignUp] = useState(false)
const [loginOpen, setLogin] = useState(false)
const [successfulLoginOpen, handleSuccessfulLogin] = useState(false)
return ( return (
<React.Fragment> <>
<ReportModal open={reportModal} handleClose={() => handleModalReportar(false)}
form="recurso" complainableId={props.learningObjectId} <React.Fragment>
complainableType={"LearningObject"} <ReportModal open={reportModal} handleClose={() => handleModalReportar(false)}
{...props} form="recurso" complainableId={props.learningObjectId}
/> complainableType={"LearningObject"}
<GuardarModal open={saveToCol} handleClose={() => {toggleSave(false)}} {...props}
thumb={props.thumb} title={props.title} recursoId={props.learningObjectId} />
/> <GuardarModal open={saveToCol} handleClose={() => { toggleSave(false) }}
<ShareModal open={shareOpen} handleClose={() => {toggleShare(false)}} thumb={props.thumb} title={props.title} recursoId={props.learningObjectId}
thumb={props.thumb} title={props.title} link={getShareablePageLink()} />
/> <ShareModal open={shareOpen} handleClose={() => { toggleShare(false) }}
<SnackbarComponent snackbarOpen={snackbarOpen} severity={"info"} handleClose={() => {toggleSnackbar(false)}} text={"Baixando o Recurso... Lembre-se de relatar sua experiência após o uso do Recurso!"} thumb={props.thumb} title={props.title} link={getShareablePageLink()}
/> />
<div style={{fontSize: "12px", display : "flex", flexDirection : "column", justifyContent : "center"}}> <SnackbarComponent snackbarOpen={snackbarOpen} severity={"info"} handleClose={() => { toggleSnackbar(false) }} text={"Baixando o Recurso... Lembre-se de relatar sua experiência após o uso do Recurso!"}
<ButtonNoWidth aria-controls="simple-menu" aria-haspopup="true" onClick={handleClick} style={{color : "#666"}}> />
<MoreVertIcon style={{color : "#666"}}/> <SignUpModal open={signUpOpen} handleClose={handleSignUp} openLogin={handleLogin}
</ButtonNoWidth> />
<Menu <LoginModal open={loginOpen} handleClose={() => setLogin(false)} openSignUp={handleSignUp}
id="simple-menu" openSnackbar={() => { handleSuccessfulLogin(true) }}
anchorEl={anchorEl} />
keepMounted <Snackbar open={successfulLoginOpen} autoHideDuration={1000} onClose={toggleLoginSnackbar}
open={Boolean(anchorEl)} anchorOrigin={{ vertical: 'top', horizontal: 'center' }}
onClose={handleClose} >
> <Alert severity="success" style={{ backgroundColor: "#00acc1" }}>Você está conectado(a)!</Alert>
<StyledMenuItem onClick={handleClose}> </Snackbar>
<Link to={"/recurso/" + props.learningObjectId}> <div style={{ fontSize: "12px", display: "flex", flexDirection: "column", justifyContent: "center" }}>
<ListItemIcon><OpenIcon /></ListItemIcon>Abrir <ButtonNoWidth aria-controls="simple-menu" aria-haspopup="true" onClick={handleClick} style={{ color: "#666" }}>
</Link> <MoreVertIcon style={{ color: "#666" }} />
</StyledMenuItem> </ButtonNoWidth>
<Menu
{ id="simple-menu"
props.downloadableLink && anchorEl={anchorEl}
<StyledMenuItem onClick={() => {enableDownload(); handleClose()}}> keepMounted
<ListItemIcon><DownloadIcon /></ListItemIcon>Baixar open={Boolean(anchorEl)}
</StyledMenuItem> onClose={handleClose}
} >
<Tooltip title="Não preserva filtro" arrow>
<StyledMenuItem onClick={handleShare}> <StyledMenuItem onClick={handleClose}>
<ListItemIcon><ShareIcon /></ListItemIcon>Compartilhar <Link to={"/recurso/" + props.learningObjectId}>
</StyledMenuItem> <ListItemIcon><OpenIcon /></ListItemIcon>Abrir
</Link>
<StyledMenuItem onClick={handleGuardar}> </StyledMenuItem>
<ListItemIcon><AddIcon /></ListItemIcon>Guardar </Tooltip>
</StyledMenuItem>
<Tooltip title="Preserva filtro" arrow>
<StyledMenuItem onClick={() => {handleModalReportar(true); handleClose()}}> <StyledMenuItem onClick={() => window.open("/recurso/" + props.learningObjectId, "_blank")}>
<ListItemIcon><ReportIcon /></ListItemIcon>Reportar <ListItemIcon><OpenInBrowserIcon /></ListItemIcon> Abrir em nova guia
</StyledMenuItem> </StyledMenuItem>
</Menu> </Tooltip>
</div>
</React.Fragment> {
); props.downloadableLink &&
<StyledMenuItem onClick={() => { enableDownload(); handleClose() }}>
<ListItemIcon><DownloadIcon /></ListItemIcon>Baixar
</StyledMenuItem>
}
<StyledMenuItem onClick={handleShare}>
<ListItemIcon><ShareIcon /></ListItemIcon>Compartilhar
</StyledMenuItem>
<StyledMenuItem onClick={handleGuardar}>
<ListItemIcon><AddIcon /></ListItemIcon>Guardar
</StyledMenuItem>
<StyledMenuItem onClick={() => { handleModalReportar(true); handleClose() }}>
<ListItemIcon><ReportIcon /></ListItemIcon>Reportar
</StyledMenuItem>
</Menu>
</div>
</React.Fragment>
</>
);
} }
const ButtonNoWidth = styled(Button)` const ButtonNoWidth = styled(Button)`
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment