Skip to content
Snippets Groups Projects
ButtonGuardarColecao.js 2.91 KiB
Newer Older
import React, { useState, useContext } from 'react'
import { Store } from '../Store.js'
import Button from '@material-ui/core/Button';
import styled from 'styled-components'
import CreateNewFolderIcon from '@material-ui/icons/CreateNewFolder';
import GuardarModal from './GuardarModal'
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 ButtonGuardarColecao(props) {
    const { state } = useContext(Store)
    const [saveToCol, toggleSave] = useState(false)
    const handleGuardar = () => {
        if (!state.currentUser.id) {
            handleLogin()
        }
        else {
            toggleSave(true);
        }
    }

    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 [signUpOpen, setSignUp] = useState(false)
    const [loginOpen, setLogin] = useState(false)
    const [successfulLoginOpen, handleSuccessfulLogin] = useState(false)

vgm18's avatar
vgm18 committed
            <SignUpModal contrast={props.contrast} open={signUpOpen} handleClose={handleSignUp} openLogin={handleLogin}
vgm18's avatar
vgm18 committed
            <LoginModal contrast={props.contrast} open={loginOpen} handleClose={() => setLogin(false)} openSignUp={handleSignUp}
                openSnackbar={() => { handleSuccessfulLogin(true) }}
            />
            <Snackbar open={successfulLoginOpen} autoHideDuration={1000} onClose={toggleLoginSnackbar}
                anchorOrigin={{ vertical: 'top', horizontal: 'center' }}
            >
                <Alert severity="success" style={{ backgroundColor: "#00acc1" }}>Você está conectado(a)!</Alert>
            </Snackbar>
            <GuardarModal contrast={props.contrast} open={saveToCol} handleClose={() => { toggleSave(false) }}
                thumb={props.thumb} title={props.title} recursoId={props.learningObjectId}
lfr20's avatar
lfr20 committed
            /> 
            <StyledButton onClick={handleGuardar} className={`${props.contrast}LinkColor`}
                style={props.contrast === "" ? {border: "2px solid #f07e05", borderRadius : "5px", color :"#f07e05"} : {border: "1px solid white", borderRadius : "5px", color :"#f07e05"}}
            >
vgm18's avatar
vgm18 committed
                <CreateNewFolderIcon className={`${props.contrast}IconColor`}/><span>GUARDAR</span>
            </StyledButton>
    )
}

const StyledButton = styled(Button)`
    background-color : transparent !important;
    font-size : 14px important;
    font-weight : 500 !important;

    .MuiSvgIcon-root {
        font-size : 24px;
    }

    &:hover {