Skip to content
Snippets Groups Projects
Select Git revision
  • Develop
  • master default protected
  • Develop_copy_to_implement_acessibility
  • Develop_copy_to_implement_acessibility_in_admin
  • vinicius_accessibility_from_copy
  • luis_accesibility_before_develop
  • vinicius_accessiblity
  • Fixing_bugs
  • Otimizando_Vinicius
  • Password_recovery_fix
  • fix_admin_bugs_luis
  • luis_gamefication
  • gamificacaoLucas
  • GameficationAdmin
  • fixHomeScreen
  • Fix_perfil
  • fix_remaining_bugs
  • homologa
  • centraliza-axios
  • Gamification
  • v1.2.0
  • v1.1.1
  • v1.1.0
  • V1.0.1
  • V1.0.0
  • V1.0.0-RC
26 results

SignUpModal.js

Blame
  • SignUpModal.js 3.95 KiB
    /*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, {useContext} from 'react';
    import { makeStyles } from '@material-ui/styles';
    import { Button } from '@material-ui/core';
    import Modal from '@material-ui/core/Modal';
    import Backdrop from '@material-ui/core/Backdrop';
    import Fade from '@material-ui/core/Fade';
    import styled from 'styled-components'
    import SignUpContainer from './SignUpContainerFunction.js'
    import {Store} from '../Store.js'
    import axios from 'axios'
    import {apiUrl} from '../env';
    
    const StyledModalSignUp = styled(Modal)`
        .djXaxP{
            margin : 0 !important;
        }
    
        display : flex;
        align-items: center;
        justify-content : center;
        text-align : center;
        padding : 10px !important;
        border-radius : 4px;
    
    `
    
    
    
    export default function SignUpModal (props) {
        const { state, dispatch } = useContext(Store)
    
        const handleLoginInfo = (newLogin) => {
            {/*console.log(state.currentUser)*/}
            axios.post(`${apiUrl}/auth`,
                {
                name : newLogin.name,
                email: newLogin.email,
                password : newLogin.password,
                password_confirmation : newLogin.senha,
                terms_of_service:true,
                avatar: ""
            }
            ).then( (response) => {
                dispatch ( {
                    type: 'USER_SIGNED_UP',
                    userLoggedIn: !state.userIsLoggedIn,
                    login: {
                        id : response.data.id,
                        username : response.data.name,
                        email : response.data.email,
                        accessToken : response.headers['access-token'],
                        clientToken : response.headers.client,
                        userAvatar : response.data.avatar_file_name,
                        userCover : response.data.cover_file_name
                        }
                    }
                )
                localStorage.setItem('@portalmec/accessToken', response.headers['access-token'])
                localStorage.setItem('@portalmec/clientToken', response.headers.client,)
                localStorage.setItem('@portalmec/id', response.data.data.id)
                localStorage.setItem('@portalmec/username', response.data.data.name)
                localStorage.setItem('@portalmec/uid', response.data.data.uid)
                console.log(state.currentUser)
                props.handleClose()
                }, (error) => {
                    console.log(':(')
                }
            )
        }
    
        //useEffect(()=>{console.log(state.currentUser)},[state.currentUser])
    
        return (
            <StyledModalSignUp
                aria-labelledby="transition-modal-title"
                aria-describedby="transition-modal-description"
                open={props.open}
                animation={true}
                centered={true}
                onClose={props.handleClose}
                closeAfterTransition
                BackdropComponent={Backdrop}
                BackdropProps={{
                    timeout: 500,
                }}
            >
                <Fade in={props.open}>
                    <SignUpContainer
                     handleClose={props.handleClose}
                     openLogin={props.openLogin}
                     handleLoginInfo = {handleLoginInfo}
                    />
                </Fade>
            </StyledModalSignUp>
        )
    }