From 95f4196a982510f76edb266ed9a3735942e93445 Mon Sep 17 00:00:00 2001
From: Lucas Schoenfelder <les17@inf.ufpr.br>
Date: Tue, 28 Jan 2020 17:33:44 -0300
Subject: [PATCH 01/29] trabalhando no esqueleto da pagina de usuario

---
 src/Components/IllegalContentModal.js |   2 +-
 src/Components/LoginModal.js          |   6 +-
 src/Components/MenuBar.js             |   2 +-
 src/Components/SignUpModal.js         |   2 +-
 src/Pages/UserPage.js                 | 189 ++++++++++++++++++++++++--
 src/Store.js                          |  11 +-
 6 files changed, 186 insertions(+), 26 deletions(-)

diff --git a/src/Components/IllegalContentModal.js b/src/Components/IllegalContentModal.js
index f623587a..7b2060f5 100644
--- a/src/Components/IllegalContentModal.js
+++ b/src/Components/IllegalContentModal.js
@@ -112,7 +112,7 @@ export default function IllegalContentModal (props) {
             <Fade in={props.open}>
                 <StyledDivContainer >
                     <StyledDivContent>
-                        <StyledH2>{state.loginInfo.username}!</StyledH2>
+                        <StyledH2>{state.currentUser.username}!</StyledH2>
                         <div>
                             <StyledParagraph>Seu recurso não está de acordo com os termos</StyledParagraph>
                             </div>
diff --git a/src/Components/LoginModal.js b/src/Components/LoginModal.js
index 1652dc66..17540183 100644
--- a/src/Components/LoginModal.js
+++ b/src/Components/LoginModal.js
@@ -20,7 +20,7 @@ import React, {useContext} from 'react';
 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 Zoom from '@material-ui/core/Fade';
 import styled from 'styled-components'
 import LoginContainer from './LoginContainer'
 import {Store} from '../Store.js'
@@ -82,12 +82,12 @@ export default function LoginModal (props){
                 timeout: 500,
             }}
          >
-            <Fade in={props.open}>
+            <Zoom in={props.open} style={{ transitionDelay :"0.4ms"}}>
                 <LoginContainer handleClose={props.handleClose}
                  openSignUp={props.openSignUp}
                  handleLoginInfo={handleLoginInfo}
                 />
-            </Fade>
+            </Zoom>
         </StyledLogin>
     )
 }
diff --git a/src/Components/MenuBar.js b/src/Components/MenuBar.js
index d2ba1f46..f7c90fb5 100644
--- a/src/Components/MenuBar.js
+++ b/src/Components/MenuBar.js
@@ -107,7 +107,7 @@ export default function MenuBar(props){
   ]
 
   const minhaArea = [
-      { name: "Perfil e Atividades", href: "/perfil/atualizacoes"},
+      { name: "Perfil e Atividades", href: "/perfil-atualizacoes"},
       { name: "Recursos Publicados", href: "/perfil/recursos-publicados"},
       { name: "Favoritos", href: "/perfil/favoritos"},
       { name: "Coleções", href: "/perfil/colecoes"},
diff --git a/src/Components/SignUpModal.js b/src/Components/SignUpModal.js
index c25758f4..5300aab6 100644
--- a/src/Components/SignUpModal.js
+++ b/src/Components/SignUpModal.js
@@ -90,7 +90,7 @@ export default function SignUpModal (props) {
         )
     }
 
-    //useEffect(()=>{console.log(state.loginInfo)},[state.loginInfo])
+    //useEffect(()=>{console.log(state.currentUser)},[state.currentUser])
 
     return (
         <StyledModalSignUp
diff --git a/src/Pages/UserPage.js b/src/Pages/UserPage.js
index 8e5da3b4..25055b32 100644
--- a/src/Pages/UserPage.js
+++ b/src/Pages/UserPage.js
@@ -16,32 +16,191 @@ 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 from 'react';
+import React, {useState, useContext} from 'react';
 import styled from 'styled-components'
+import { Container } from 'react-grid-system'
+import Button from '@material-ui/core/Button';
+import IconButton from '@material-ui/core/IconButton';
+import PhotoCamera from '@material-ui/icons/PhotoCamera';
+import Tooltip from '@material-ui/core/Tooltip';
+import Breadcrumbs from '@material-ui/core/Breadcrumbs';
+import Link from '@material-ui/core/Link';
+import Popover from '@material-ui/core/Popover';
+import { Store } from '../Store.js';
+import EditIcon from '@material-ui/icons/Edit';
 
-
-const maindDiv = styled.div`
+const HeaderDiv = styled.div`
     background-color : #f4f4f4;
     color : #666;
     font-size : 14px;
     line-height : 20px;
 `
-const breadcrumbsDiv = styled.div`
+
+const BreadcrumbsDiv = styled.div`
+    padding : 10px;
+    display : flex;
+    justify-content : center;
+`
+
+const StyledBreadcrumbs = styled(Breadcrumbs)`
     display : flex;
-    justify:content : center;
-    padding: 10px;
+    justify-content : flex-start;
+    max-width : 1170px;
+`
+
+const MainContainerDesktop = styled(Container)`
+    padding : 10px 0 8px 0;
+`
+
+const ContainerUserProfile = styled(Container)`
+    padding : 0;
+    background-color : #fff;
+    magin-bottom: 30px;
+    width : 1170px;
+    margin-right : auto;
+    margin-left : auto;
+`
+const HeaderContainer = styled(Container)`
+    background-color : #afeeee;
+    position :  relative;
+`
+
+const CoverContainer = styled(Container)`
+    height : 230px;
+    position : relative;
+`
+const ProfileAvatarDiv = styled.div`
+    bottom : -65px;
+    left : 60px;
+    border-radius : 100%;
+    position : absolute;
+    width : 150px;
+    height : 150px;
+    overflow : hidden;
+    border : 8px solid #fff;
+    outline : 0;
+    cursor : pointer;
+`
+const ChangeAvatarDiv = styled.div`
+    height : 40px;
+    position: absolute;
+    width : 100%;
+    bottom : 0;
+    display : flex;
+    background-color : #000;
+    color : #fff;
+    justify-content : center;
+`
+
+const UserProfileInfoDiv = styled.div`
+    position : absolute;
+    bottom : 0;
+    left : 260px;
+    overflow : hidden;
+    margin-bottom : 20px;
+`
+
+const EditProfileAnchor = styled.a`
+    Button {
+        background-color : #fafafa;
+        position : absolute;
+        right : 5px;
+        bottom : 0;
+        margin-bottom : 20px;
+        color : #666;
+        padding : 0 10px;
+        text-decoration : none;
+        border-radius : 3px;
+        min-height : 36px;
+        min-width : 88px;
+        line-height : 36px;
+        border : 0;
+        display: inline-block;
+        text-align : center;
+    }
 `
 
 export default function UserPage (props){
+    const {state, dispatch} = useContext(Store)
+    const userImg = ""
+    const [hoverAlterarFoto, handleAlterarFoto] = React.useState(false)
+
+    const handleHoverAlterarFoto = () => {
+        handleAlterarFoto(!hoverAlterarFoto)
+    }
+
+    const redirect = () => {
+        props.history.push('/')
+    }
+
+    return (
+        <>
+        {
+            state.userIsLoggedIn?
+            (
+                [
+                    <React.Fragment>
+                        <HeaderDiv>
+                            <BreadcrumbsDiv>
+                                <StyledBreadcrumbs>
+                                    <Link href="/" style={{color:"#00bcd4"}}>
+                                        Página Inicial
+                                    </Link>
+                                    <span style={{color:"#a5a5a5"}}>
+                                        Minha área
+                                    </span>
+                                    <span style={{color:"#a5a5a5"}}>
+                                        Atividades
+                                    </span>
+                                </StyledBreadcrumbs>
+                            </BreadcrumbsDiv>
+
+                            <MainContainerDesktop>
+                                <ContainerUserProfile>
+                                    <HeaderContainer>
+                                        <CoverContainer>
+                                            {userImg == "" && <span>cover art</span>}
+                                            <input accept="image/*" style = {{display:"none"}} id="icon-button-file" type="file" />
+                                            <label htmlFor="icon-button-file">
+                                                <Tooltip title={<span style={{fontSize:"14px", overflow:"hidden"}}>ALTERAR CAPA</span>} placement="left">
+                                                    <IconButton style={{position:"absolute",right:"0",top:"0",color:"#fff"}}color="primary" aria-label="upload picture" component="span">
+                                                        <PhotoCamera />
+                                                    </IconButton>
+                                                </Tooltip>
+                                            </label>
+                                        </CoverContainer>
+                                        <ProfileAvatarDiv>
+                                            {userImg == "" && <span>user avatar</span>}
+                                            <ChangeAvatarDiv onMouseEnter={handleHoverAlterarFoto} onMouseLeave={handleHoverAlterarFoto}>
+                                                {hoverAlterarFoto && <span>Alterar Foto</span>}
+                                            </ChangeAvatarDiv>
+                                        </ProfileAvatarDiv>
+                                        <UserProfileInfoDiv>
+                                            <p style={{fontSize:"28px", color:"#fff", marginBottom:"2px", fontWeight:"500"}}>{state.currentUser.username}</p>
+                                            <div style={{fontSize:"14px", color:"#fff", marginBottom:"2px"}}>
+                                                <p>{state.currentUser.education}</p>
+                                            </div>
+                                        </UserProfileInfoDiv>
+                                        <EditProfileAnchor href="/perfil/configuracoes/editarperfil">
+                                            <Button>
+                                                <EditIcon style={{marginRight:"5px"}}/> <span>EDITAR PERFIL</span>
+                                            </Button>
+                                        </EditProfileAnchor>
+                                    </HeaderContainer>
+                                </ContainerUserProfile>
+                            </MainContainerDesktop>
+                        </HeaderDiv>
+                    </React.Fragment>
+                ]
+            )
+            : (
+                <>
+                {redirect()}
+                </>
+            )
+        }
+        </>
 
-      return (
-        <mainDiv>
-            <breadcrumbsDiv>
-                <ol style={{listStyle:"none"}}>
-                    <li><a href="/"><span>Página Principal</span> </a> </li>/<li><span>Minha área</span></li>/<li><span>Atividades</span></li>
-                </ol>
-            </breadcrumbsDiv>
-        </mainDiv>
-      );
+      )
 
   }
diff --git a/src/Store.js b/src/Store.js
index c2e0f669..3c12dad7 100644
--- a/src/Store.js
+++ b/src/Store.js
@@ -34,11 +34,12 @@ const initialState = {
     width: 0,
     height: 0
 },
-  loginInfo: {
+  currentUser: {
       username : 'Horstmann',
       email : '',
       accessToken : '',
-      client : ''
+      client : '',
+      education : ''
   }
 }
 
@@ -63,19 +64,19 @@ function reducer(state, action) {
       return {
           ...state,
           userIsLoggedIn:action.userLoggedIn,
-          loginInfo:action.login
+          currentUser:action.login
     }
     case 'USER_SIGNED_UP':
       return {
           ...state,
           userIsLoggedIn:action.userLoggedIn,
-          loginInfo:action.login
+          currentUser:action.login
     }
     case 'USER_LOGGED_OUT':
         return {
             ...state,
             userIsLoggedIn:action.userLoggedOut,
-            loginInfo:action.login
+            currentUser:action.login
         }
     case 'USER_AGREED_TO_PUBLICATION_TERMS':
         return {
-- 
GitLab


From ac7d577f2476d52c032d32e6f3e12a358b6467d5 Mon Sep 17 00:00:00 2001
From: Lucas Schoenfelder <les17@inf.ufpr.br>
Date: Wed, 29 Jan 2020 11:44:09 -0300
Subject: [PATCH 02/29] progredindo no header da tela de usuario

---
 src/Pages/UserPage.js           | 62 +++++++++++++++++++++++++++++----
 src/Store.js                    |  4 ++-
 src/img/check-decagram-gray.svg |  3 ++
 3 files changed, 61 insertions(+), 8 deletions(-)
 create mode 100644 src/img/check-decagram-gray.svg

diff --git a/src/Pages/UserPage.js b/src/Pages/UserPage.js
index 25055b32..29d7c59c 100644
--- a/src/Pages/UserPage.js
+++ b/src/Pages/UserPage.js
@@ -28,6 +28,7 @@ import Link from '@material-ui/core/Link';
 import Popover from '@material-ui/core/Popover';
 import { Store } from '../Store.js';
 import EditIcon from '@material-ui/icons/Edit';
+import CheckDecagram from '../img/check-decagram-gray.svg'
 
 const HeaderDiv = styled.div`
     background-color : #f4f4f4;
@@ -58,6 +59,8 @@ const ContainerUserProfile = styled(Container)`
     magin-bottom: 30px;
     width : 1170px;
     margin-right : auto;
+    padding-left : 0 !important;
+    padding-right : 0 !important;
     margin-left : auto;
 `
 const HeaderContainer = styled(Container)`
@@ -120,9 +123,21 @@ const EditProfileAnchor = styled.a`
     }
 `
 
+const CheckTeacherDiv = styled.div`
+    font-size : 14px;
+    padding-top : 10px;
+    padding-left : 250px;
+    margin-bottom : -10px;
+    color : #666 !important;
+`
+
+const RodapeDiv = styled.div`
+
+`
+
 export default function UserPage (props){
     const {state, dispatch} = useContext(Store)
-    const userImg = ""
+    const coverImg = ''
     const [hoverAlterarFoto, handleAlterarFoto] = React.useState(false)
 
     const handleHoverAlterarFoto = () => {
@@ -155,11 +170,12 @@ export default function UserPage (props){
                                 </StyledBreadcrumbs>
                             </BreadcrumbsDiv>
 
+                        <div style={{display:"flex", flexDirection:"column"}}>
                             <MainContainerDesktop>
                                 <ContainerUserProfile>
                                     <HeaderContainer>
                                         <CoverContainer>
-                                            {userImg == "" && <span>cover art</span>}
+                                            {coverImg == "" && <span>cover art</span>}
                                             <input accept="image/*" style = {{display:"none"}} id="icon-button-file" type="file" />
                                             <label htmlFor="icon-button-file">
                                                 <Tooltip title={<span style={{fontSize:"14px", overflow:"hidden"}}>ALTERAR CAPA</span>} placement="left">
@@ -169,10 +185,10 @@ export default function UserPage (props){
                                                 </Tooltip>
                                             </label>
                                         </CoverContainer>
-                                        <ProfileAvatarDiv>
-                                            {userImg == "" && <span>user avatar</span>}
-                                            <ChangeAvatarDiv onMouseEnter={handleHoverAlterarFoto} onMouseLeave={handleHoverAlterarFoto}>
-                                                {hoverAlterarFoto && <span>Alterar Foto</span>}
+                                        <ProfileAvatarDiv onMouseEnter={handleHoverAlterarFoto} onMouseLeave={handleHoverAlterarFoto}>
+                                            <img src={state.userAvatar}/>
+                                            <ChangeAvatarDiv  style={ {display : hoverAlterarFoto ? 'flex' : 'none'}}>
+                                                <span>Alterar Foto</span>
                                             </ChangeAvatarDiv>
                                         </ProfileAvatarDiv>
                                         <UserProfileInfoDiv>
@@ -183,12 +199,44 @@ export default function UserPage (props){
                                         </UserProfileInfoDiv>
                                         <EditProfileAnchor href="/perfil/configuracoes/editarperfil">
                                             <Button>
-                                                <EditIcon style={{marginRight:"5px"}}/> <span>EDITAR PERFIL</span>
+                                                <EditIcon style={{marginRight:"5px", verticalAlign:"middle"}}/> <span>EDITAR PERFIL</span>
                                             </Button>
                                         </EditProfileAnchor>
                                     </HeaderContainer>
+                                    <CheckTeacherDiv>
+                                    <>
+                                    {
+                                        state.isCollaborativeTeacher ?
+                                        (
+                                            [
+                                                <>
+                                                <img src={CheckDecagram} style={{color:"#00bcd4"}}/>
+                                                <span>Professor(a)</span>
+                                                </>
+                                            ]
+                                        )
+                                        :
+                                        (
+                                            [
+                                                <p style={{fontSize:"15px", lineHeight:"22px", textAlign:"left", margin:"0 0 10px"}}>
+                                                <span style={{cursor:"pointer"}}>
+                                                <span style={{paddingRight:"5px"}}>
+                                                <img src={CheckDecagram}/>
+                                                </span>
+                                                Você é professor(a) e gostaria de publicar recursos?
+                                                <span style={{color:"#00bcd4"}}> SAIBA MAIS</span>
+                                                </span>
+                                                </p>
+                                            ]
+                                        )
+                                    }
+                                    </>
+                                    </CheckTeacherDiv>
+                                    <RodapeDiv>
+                                    </RodapeDiv>
                                 </ContainerUserProfile>
                             </MainContainerDesktop>
+                            </div>
                         </HeaderDiv>
                     </React.Fragment>
                 ]
diff --git a/src/Store.js b/src/Store.js
index 3c12dad7..eaacb6bb 100644
--- a/src/Store.js
+++ b/src/Store.js
@@ -39,7 +39,9 @@ const initialState = {
       email : '',
       accessToken : '',
       client : '',
-      education : ''
+      education : '',
+      isCollaborativeTeacher : false,
+      userAvatar : ''
   }
 }
 
diff --git a/src/img/check-decagram-gray.svg b/src/img/check-decagram-gray.svg
new file mode 100644
index 00000000..a2415acd
--- /dev/null
+++ b/src/img/check-decagram-gray.svg
@@ -0,0 +1,3 @@
+<svg width="22" height="21" viewBox="0 0 22 21" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M22 10.46L19.56 7.68L19.9 4L16.29 3.18L14.4 0L11 1.46L7.6 0L5.71 3.18L2.1 3.99L2.44 7.67L0 10.46L2.44 13.24L2.1 16.93L5.71 17.75L7.6 20.93L11 19.46L14.4 20.92L16.29 17.74L19.9 16.92L19.56 13.24L22 10.46ZM9 15.46L5 11.46L6.41 10.05L9 12.63L15.59 6.04L17 7.46L9 15.46Z" fill="#D1D1D1"/>
+</svg>
-- 
GitLab


From 1b110ac88f5269c3d16f297bb80742b041686dac Mon Sep 17 00:00:00 2001
From: Lucas Schoenfelder <les17@inf.ufpr.br>
Date: Thu, 30 Jan 2020 11:33:06 -0300
Subject: [PATCH 03/29] tabs quase pronto

---
 src/Components/MenuBar.js       |   4 +-
 src/Components/MenuList.js      |  13 +-
 src/Components/TabAtividades.js |   0
 src/Pages/UserPage.js           | 258 ++++++++++++++++++--------------
 src/img/horstmann.jpg           | Bin 0 -> 38951 bytes
 5 files changed, 158 insertions(+), 117 deletions(-)
 create mode 100644 src/Components/TabAtividades.js
 create mode 100644 src/img/horstmann.jpg

diff --git a/src/Components/MenuBar.js b/src/Components/MenuBar.js
index f7c90fb5..75550ecf 100644
--- a/src/Components/MenuBar.js
+++ b/src/Components/MenuBar.js
@@ -29,7 +29,7 @@ import styled from 'styled-components'
 import { Store } from '../Store';
 import CloudUploadIcon from '@material-ui/icons/CloudUpload';
 import Notifications from "./Notifications.js"
-import CustomizedMenus from './MenuList'
+import MenuList from './MenuList'
 
 const ContainerStyled = styled(Container)`
     *{ text-decoration: none }
@@ -149,7 +149,7 @@ export default function MenuBar(props){
                             <Notifications/>
                         </div>
 
-                        <CustomizedMenus items={minhaArea}/>
+                        <MenuList items={minhaArea}/>
 
                     </>
                 ]
diff --git a/src/Components/MenuList.js b/src/Components/MenuList.js
index 5652912f..ee25a683 100644
--- a/src/Components/MenuList.js
+++ b/src/Components/MenuList.js
@@ -42,7 +42,7 @@ const OverrideButton = styled(Button)`
     text-transform : none !important;
 `
 
-export default function CustomizedMenus(props) {
+export default function MenuList(props) {
   const [anchorEl, setAnchorEl] = React.useState(null);
   const { state, dispatch } = useContext(Store)
 
@@ -77,7 +77,16 @@ export default function CustomizedMenus(props) {
         onMouseEnter={handleClick}
 
       >
-        <img src={Profile} alt={''} style={{maxWidth:"50px", maxHeight:"50px", borderRadius:"25px"}}/>
+        {
+            state.currentUser.userAvatar === '' ?
+            (
+
+                <img src={Profile} alt={''} style={{maxWidth:"50px", maxHeight:"50px", borderRadius:"25px"}}/>
+            ):
+            (
+                <img src={state.currentUser.userAvatar} alt={''}/>
+            )
+        }
             <span style={{fontFamily:"inherit", fontWeight:"400", color:"#666"}}>Minha Área </span> <KeyboardArrowDownIcon/>
       </OverrideButton>
 
diff --git a/src/Components/TabAtividades.js b/src/Components/TabAtividades.js
new file mode 100644
index 00000000..e69de29b
diff --git a/src/Pages/UserPage.js b/src/Pages/UserPage.js
index 29d7c59c..f30f99e9 100644
--- a/src/Pages/UserPage.js
+++ b/src/Pages/UserPage.js
@@ -29,116 +29,14 @@ import Popover from '@material-ui/core/Popover';
 import { Store } from '../Store.js';
 import EditIcon from '@material-ui/icons/Edit';
 import CheckDecagram from '../img/check-decagram-gray.svg'
-
-const HeaderDiv = styled.div`
-    background-color : #f4f4f4;
-    color : #666;
-    font-size : 14px;
-    line-height : 20px;
-`
-
-const BreadcrumbsDiv = styled.div`
-    padding : 10px;
-    display : flex;
-    justify-content : center;
-`
-
-const StyledBreadcrumbs = styled(Breadcrumbs)`
-    display : flex;
-    justify-content : flex-start;
-    max-width : 1170px;
-`
-
-const MainContainerDesktop = styled(Container)`
-    padding : 10px 0 8px 0;
-`
-
-const ContainerUserProfile = styled(Container)`
-    padding : 0;
-    background-color : #fff;
-    magin-bottom: 30px;
-    width : 1170px;
-    margin-right : auto;
-    padding-left : 0 !important;
-    padding-right : 0 !important;
-    margin-left : auto;
-`
-const HeaderContainer = styled(Container)`
-    background-color : #afeeee;
-    position :  relative;
-`
-
-const CoverContainer = styled(Container)`
-    height : 230px;
-    position : relative;
-`
-const ProfileAvatarDiv = styled.div`
-    bottom : -65px;
-    left : 60px;
-    border-radius : 100%;
-    position : absolute;
-    width : 150px;
-    height : 150px;
-    overflow : hidden;
-    border : 8px solid #fff;
-    outline : 0;
-    cursor : pointer;
-`
-const ChangeAvatarDiv = styled.div`
-    height : 40px;
-    position: absolute;
-    width : 100%;
-    bottom : 0;
-    display : flex;
-    background-color : #000;
-    color : #fff;
-    justify-content : center;
-`
-
-const UserProfileInfoDiv = styled.div`
-    position : absolute;
-    bottom : 0;
-    left : 260px;
-    overflow : hidden;
-    margin-bottom : 20px;
-`
-
-const EditProfileAnchor = styled.a`
-    Button {
-        background-color : #fafafa;
-        position : absolute;
-        right : 5px;
-        bottom : 0;
-        margin-bottom : 20px;
-        color : #666;
-        padding : 0 10px;
-        text-decoration : none;
-        border-radius : 3px;
-        min-height : 36px;
-        min-width : 88px;
-        line-height : 36px;
-        border : 0;
-        display: inline-block;
-        text-align : center;
-    }
-`
-
-const CheckTeacherDiv = styled.div`
-    font-size : 14px;
-    padding-top : 10px;
-    padding-left : 250px;
-    margin-bottom : -10px;
-    color : #666 !important;
-`
-
-const RodapeDiv = styled.div`
-
-`
+import Tabs from '@material-ui/core/Tabs';
+import Tab from '@material-ui/core/Tab';
 
 export default function UserPage (props){
     const {state, dispatch} = useContext(Store)
     const coverImg = ''
     const [hoverAlterarFoto, handleAlterarFoto] = React.useState(false)
+    const [value, setValue] = useState(0);
 
     const handleHoverAlterarFoto = () => {
         handleAlterarFoto(!hoverAlterarFoto)
@@ -148,6 +46,10 @@ export default function UserPage (props){
         props.history.push('/')
     }
 
+    const handleChangeTab = (event, newValue) => {
+        setValue(newValue)
+    }
+
     return (
         <>
         {
@@ -186,7 +88,7 @@ export default function UserPage (props){
                                             </label>
                                         </CoverContainer>
                                         <ProfileAvatarDiv onMouseEnter={handleHoverAlterarFoto} onMouseLeave={handleHoverAlterarFoto}>
-                                            <img src={state.userAvatar}/>
+                                            <img src={state.currentUser.userAvatar}/>
                                             <ChangeAvatarDiv  style={ {display : hoverAlterarFoto ? 'flex' : 'none'}}>
                                                 <span>Alterar Foto</span>
                                             </ChangeAvatarDiv>
@@ -219,13 +121,13 @@ export default function UserPage (props){
                                         (
                                             [
                                                 <p style={{fontSize:"15px", lineHeight:"22px", textAlign:"left", margin:"0 0 10px"}}>
-                                                <span style={{cursor:"pointer"}}>
-                                                <span style={{paddingRight:"5px"}}>
-                                                <img src={CheckDecagram}/>
-                                                </span>
-                                                Você é professor(a) e gostaria de publicar recursos?
-                                                <span style={{color:"#00bcd4"}}> SAIBA MAIS</span>
-                                                </span>
+                                                    <span style={{cursor:"pointer"}}>
+                                                        <span style={{paddingRight:"5px"}}>
+                                                            <img src={CheckDecagram}/>
+                                                        </span>
+                                                        Você é professor(a) e gostaria de publicar recursos?
+                                                        <span style={{color:"#00bcd4"}}> SAIBA MAIS</span>
+                                                    </span>
                                                 </p>
                                             ]
                                         )
@@ -233,6 +135,22 @@ export default function UserPage (props){
                                     </>
                                     </CheckTeacherDiv>
                                     <RodapeDiv>
+                                        <NavBarContentContainer>
+                                            <Tabs
+                                                value ={value}
+                                                onChange ={handleChangeTab}
+                                                indicatorColor ="primary"
+                                                textColor ="primary"
+                                                variant = "scrollable"
+                                                scrollButtons = "auto"
+                                            >
+                                                <Tab label="Atividades"/>
+                                                <Tab label="Meus Recursos"/>
+                                                <Tab label="Favoritos"/>
+                                                <Tab label="Coleções"/>
+                                                <Tab label="Rede"/>
+                                            </Tabs>
+                                        </NavBarContentContainer>
                                     </RodapeDiv>
                                 </ContainerUserProfile>
                             </MainContainerDesktop>
@@ -252,3 +170,117 @@ export default function UserPage (props){
       )
 
   }
+
+  const HeaderDiv = styled.div`
+  background-color : #f4f4f4;
+  color : #666;
+  font-size : 14px;
+  line-height : 20px;
+  `
+
+  const BreadcrumbsDiv = styled.div`
+  padding : 10px;
+  display : flex;
+  justify-content : center;
+  `
+
+  const StyledBreadcrumbs = styled(Breadcrumbs)`
+  display : flex;
+  justify-content : flex-start;
+  max-width : 1170px;
+  `
+
+  const MainContainerDesktop = styled(Container)`
+  padding : 10px 0 8px 0;
+  `
+
+  const ContainerUserProfile = styled(Container)`
+  padding : 0;
+  background-color : #fff;
+  magin-bottom: 30px;
+  width : 1170px;
+  margin-right : auto;
+  padding-left : 0 !important;
+  padding-right : 0 !important;
+  margin-left : auto;
+  `
+  const HeaderContainer = styled(Container)`
+  background-color : #afeeee;
+  position :  relative;
+  `
+
+  const CoverContainer = styled(Container)`
+  height : 230px;
+  position : relative;
+  `
+  const ProfileAvatarDiv = styled.div`
+    bottom : -65px;
+    left : 60px;
+    border-radius : 100%;
+    position : absolute;
+    width : 150px;
+    height : 150px;
+    overflow : hidden;
+    border : 8px solid #fff;
+    outline : 0;
+    cursor : pointer;
+  `
+  const ChangeAvatarDiv = styled.div`
+  height : 40px;
+  position: absolute;
+  width : 100%;
+  bottom : 0;
+  display : flex;
+  background-color : #000;
+  color : #fff;
+  justify-content : center;
+  `
+
+  const UserProfileInfoDiv = styled.div`
+  position : absolute;
+  bottom : 0;
+  left : 260px;
+  overflow : hidden;
+  margin-bottom : 20px;
+  `
+
+  const EditProfileAnchor = styled.a`
+  Button {
+      background-color : #fafafa;
+      position : absolute;
+      right : 5px;
+      bottom : 0;
+      margin-bottom : 20px;
+      color : #666;
+      padding : 0 10px;
+      text-decoration : none;
+      border-radius : 3px;
+      min-height : 36px;
+      min-width : 88px;
+      line-height : 36px;
+      border : 0;
+      display: inline-block;
+      text-align : center;
+  }
+  `
+
+  const CheckTeacherDiv = styled.div`
+  font-size : 14px;
+  padding-top : 10px;
+  padding-left : 250px;
+  margin-bottom : -10px;
+  color : #666 !important;
+  `
+
+  const RodapeDiv = styled.div`
+  justify-content : flex-end;
+  display : flex;
+  `
+
+  const NavBarContentContainer = styled(Container)`
+    background-color : #fff;
+    padding-bottom : 0;
+    overflow-x : hidden !important;
+    overflow-y : hid1den !important;
+    margin-right : 0 !important;
+  `
diff --git a/src/img/horstmann.jpg b/src/img/horstmann.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..a4e7e494f1615ddd3e2a650a2fc7099c8e4b3c1a
GIT binary patch
literal 38951
zcmbrlbx<9_^DlaE65Q?J?(P=c-6as*-9314ch`f<!9BP`aCZrw;0}*`zwgzrUe&#S
z+`7HBJD-}K?w#q~(>tf9=Y9Eo8-OY+DI*DhfB*m>J`TY9E@Zxpn3$oms*<FPyu^PP
zkny%Ab}rB?0DzsntFx+<D2cX?E(zT3M|-4?6Ab_~GI4PfQC5}*{BP-Q@t<}8V2<&h
zuK#Vb|1|@_)Xc@?ql54tY#tLwXV(w><pV2vxH|sB@gEq|#L~$00~dc_2Ir3se&ApK
z>W%-4_y1vw|Kf*#*jZgw3;=*c{J<m@|HTadu<?KKzp;>*SUTH%w6Xob6n3_5AAR@_
z{Tm6QnZ1VEM+yAT=>kv%NC89vBmiT88^8)+3vdN6ew6kfHv3=8vHeF*5#aD4WAbrz
z1b6|QKO`&wmLIYVAGK}(7l7GEY5q}f_Ho#LwD_QZw*OZG0RLlC7jyQ1`aXt?C<_3<
z?7hEV(*Xc*SpdLm`1|{F;rsh*5dZ+S3;_I0{vUaV<PURReALJPPaQ=L0Duw<05o_1
zPn~fI0MPPbW86(gBWI)k+z0C83TbW*09=6p03;m%0OP~fpY{H4`Tw=|hwgv+0Yysy
zfVvL=AU_EJWMl#WR3G<4(SKh9hyh@rprN6mU_LG|Ffg!ii12V9go1$Z2@wqi9UTn?
z4GjYuh=YNNkA;SYONxt6NJvafjDbT&K}JLYBqApIrv&0d6b=>+86F;)2onvH=>M4B
z`v7S05b+T4P!MDQNHhp2G>G?se=h_i6vPMp8^V7G8U_*y76JeV|G~wF0Q~=%00>AZ
zXaEfC`zint3IYI$3WfUd7$=7w$1PL1DARZ+c{<T#V#ER?F!`i5?%}UgF77*~gzj7U
zG*#v%bS(U)o6N2&z1~u_rtsK>r<+ZYMSaltysGYME)?g5>2t#}kWAyI=$~;$hmrnx
za(7(B9;>g`-r?XrgOA)39Iv--tFZs<lt-n}<QA^dn|i%wJnIWaI<U1Kpp1Os^>@`1
zv-~SF1nI0bPToiOr}cUB@{h;*MVis(sVzaLUh9ZQ-cgC~WQ)*%?K&i>>2ZsADqTjq
zuOrF~F{**mri|_y9j)Q1mu8!7Zo{}bZ*FbjOULm;yJrALbb+3`{=G+sp{G(^AjOFN
zJ!cbREP+_K3Qli~Z`8J%gk)9wBkV!by<As<^}`ndru@%+S=w(0J&hir8=#*Xj)_Q}
z%f4niphe`zsRYn9$Ck&VER|J9rinw*{^az*Eq=rFVf2>y-iDB{fH?n5g+5`ad=L#s
z(H87)5YdHP4&f~9B_C{S*D^94sl7r(Z(~fWx;h6l!h`n(%wfS)o)?j0UZ*tq-*VVe
ziikdEq9JVA?pThSG#4A8;43Al*33oT*fAali<_&Hs!FAl<>xr!V&8YbP0yk3vXIL<
zKeIs-*%}9-e3$*OYC~+tAhQm)X8Et<9oZo@JJ2m5$`ps^tqE(7$0Ji!Z2csL%_Q>A
z+%){P($HW}Cp=dYr4HOX2=irbyl*$B<rM6^ZU+uF38yQd_1LIb9Y%&ayM{K`VEvuS
z(VGFE>HF!}-w-~2dcXfZRjBPs@aWEZR0W&P1+#4+`u@H0e(3JpOOB(?w-tH^U|2$~
z;x|Q*4D<5~@$<SsAKl{Fc@|VjmFel#jaxTZrYwvxyB;%VODHYe)9K~Q;+eZ>DU|%k
zNj@7kDlqUlwk0BwvlWt`W6hE+^X9&$Su=6>^Hri=0zSdQyaUwSB3L&C(++P&3#x(F
z?dO}+>Af|=I!^SJGZA6rx@8HvyCb0NSKA?+Rl&y?aM;#?kN&lGvkh|t`$Bax!>*3(
zuM4IjYpg*NW=4AHw-lNmrgYf`)GpCCETS5BbIbLU?7e@iuWMSve{0T~|H-v=3}@=}
zpgcJUpAqr`De!&%5~kp-tXmmY_53VXg#q8$%n|dA-?z06yGB&H)NyTOhDj5TFuWbN
zd{r?W*P@aA*E3_KUS?a{U5l)qmbJ>S!}8egFz_9}ZNBB^C|l^0uSCsNUq?0`bFpuf
z^uJ<hgC^1ZWKc|Cw-Gd_p4aChac0GjF|^`Sg%*-z1)P%Fw3AMhRcZp{vRy=Me*2m`
z%B5Va9J--<=FgNQ6*h?Fb#e_>(Q-5rmq>1_KX91t>dMgu)_=ywtXWmDUGbPO;ePZc
z6b%pq_+TTsct2J{#JK#qAM>xg?h>-GD`nR4d^yzhjg(L-*x(Vg6O>A6LgQap-97T#
zMoo5xc@vd2e(I$tK*Iasm~;dTTaOZnc2wg{o0qa80=csul(1_(*_&ePPqd#7+W(5q
z&(IU?6?oLGtiz<qC2w!JaRGv?C;GW!b8=nHT%~%H9;eo%(o*|hgZHj9y8kqNt6krn
z?E^Gxwg*>GWrf~SJT#e)6)g5z@F;h8?2{i63vXgUsps-E)*IRza&??f9J$lVFX)Xe
z_AXn<?{4H8N9z#z_c9J2U|-m%UZU@OGJu@eT5!SF!$4jDO*5%KsLcKmZ<*1rp6b_Z
zV5nYq2ut>97_4BcHZV9Sd(OxAz}|dWyAT$*5FH(gQfGC1!n``^ZSX`F)LKwgeokHu
zji3Kv5KR?Ke(F_n%C6fz;lf~~?B^KBm$R5E!>GY#GGBbsWi6W7Kcj(!^l<nNz((=p
zs=^(8Rg=(pDHK+ODpSNb+8$as)GsU57jN5?wWj)RuKc^`d>e1Msgcva{==0zbKXJ+
z;um6)b6T_m04LkgF}15OWQN|u{DqLM=gVa-iP|--G7{7pKU%qGabFgyZqBU6L7MK!
z9$$T@Z`xXtHB;%pb*79Q<(YE}tFQ(BRc?)Hd=boSE6fv=pTrEy^H4;<$WWCn%y(X2
z8zU5H<tvycmjEL`t;4F2%9-l{0+HmZ<pq_SP8p($k_x?$OOO2ii%T;!uI`Ar-@9iE
zI?5u|NaOo6zu6YcZn=|;%fhl@<>jQ=o2J7xz&c}&cl|j6b_IcqB6Q4G)`c8gQ)PO6
z-NZ!vO4Ykr{Thw64NMVe+V#~gil<p<*-OSPrt|p@3eFZfmBx1zfun|BctxK~ibV2K
z1l|E9PI5i;8XD74Dkpq(RtIf|wu=okdrQ|`K-I<NT1qt%g&eNGSBo~!HTPAA`cTPJ
zrPMQ#pnZeiPJhm4{-A4@bEthAwBl(T{H|U;`#aBg_HAkVE*y*(PRFH?1iWsX%mi=W
zknY24FYEq39tfGCTXuCZRdB5?oq2f&99`~6nF`R<LVI^zUSeL$XJOZ?#O_S7%h@v3
zz`j98%JWyYI=B8pkVux<q$Pcm#LmE0XnM*mCyngFv6;omaEV=%OD=ZBqY5f*B0$M{
zr5*aDM%P5wMXz-Xg9uu0zY01_SqRq|IquV%b$r53b!2kpYlWgnQK~XZoFgPEHh*%~
zY|zV@>erWDi?w&MJ3TxrZEL!|az@0)P-5ete=z!t%V_`m@N3O_2Ml~$31dmn!InWk
zaaACvOp&N-Zs(;wQG$Tm<YAW=nzOySq<0nqUFaX2C<8CWOt_+8yTYFrG(VL2r{v`O
zD1B}j=sS-UchtInsu~w$>8rMUEs(|w3cuz)Eb*v>kgQEm9X@NFU-oHb1TQq6<v_=!
zIbT`x=`IfDe=V~)I=K$d@Z-QDupLTDV+SL(T19-eSZbfbFL{-H&9e!;fmA{IzHnqZ
z_s8F<vBsAK`6%T?e^3J{CtLx}wZ6C^;?v{Z04$*K3^4&E^;#`_<+#tIgF2xbb?Vri
z@FG)6?s&P*4uk2s<izAS!fyO=6tOi>NK84Ksxp2Gu5^TM&g`qz8lNnre1R_)JmHW2
z0unYsU`NK`sHv3D!rXxqsFu%^9s|BkJ*Qb+%%)n8<2+*oQOhH5BbHgpvct6d<e+`^
zoFul-*Jm?!<C@H-gSuh6vR#jc#O6D0GoM=yv{**gQnV<|WqXUPAP@NI?*-&q5#}$u
z$VIB?<I1VEG_j)o_%GSoDh6<l2m1m=>#ug>OCn}*DmL?+`VZ@suBlG-g+;gf^Xp}+
zdmJf)f0+~Roj9aIeE&+}6Z0QChgm(dMAV~-xk2?=1xVH=U#WSee4kexH&up_n4igw
za;a|^a{R`#M3mBqwa9Wvj~=AWGk~(Cey(5kZTuS?#5~gu6;d*?nu%v<;ZzhaOOauY
z4JGme8mk<=Um&)40o`+|w1MY4KwkZ4llR9Llq4~_;?uOpL}xo@g1zq9L0YJ@$H|{g
z(SES*X?>{eJUvU4z3C=}LTMQeuLjz8<>H{K8Fboo6st@u1H&>wov}u%ys?Ptg&SRn
zBhQ3irCqv*?3$i$shwf2vjOfxUtETt*uDu%85nN@PMR9_xmfe7D=4!nM(QKmq8~99
z@bDpsMHBX~qa(nnNPkoYnp30CAg$+W{(22>Hok6pMjSi8!MPUkSXL2yw@f^=;!v!n
ztrP6liErNgO6I+ZZ7?jf_g!LA%iXzcVb2dKJG}L)<?OB!>D0xX@f8%l@(eASLi7?Y
zc-LsRcaPe7TtBeJv?XHyE6f~`WSe#Kx5wly=6lXLPzhr=527TE#nkNhP=ZRu_-XSt
zr4K2Gv6+Uy<+FYmL>z`huE0J#``*W-ngtaA2?+rW0R;sO2?_b{zr%kg)oAFX7^q~d
znB;7*B<vzs6fB~Y9N3&<A5(4kkLfuC4CH0>rA6r9qPNMOy)EcyR>qOm%rFUWu7Mmy
z`tm8g>c~neh0=r1e+*TZD3NM38wi*GsHApgnnow;$FkIoQ+o7(hASk<1XTTZu5V>Z
zk4D|7D$O<bO03x@k<;D*l}!14zPKRF9d%plOQ3bzj#G3r%R6AAMhksCD#38%59wfC
zw9uMqV`02PvB%dE5r3>Fc!bqomfHJtGW9)@NSX*5hvg=BlH8uL*Z##HP7hl=T)N5T
z#H0W|@YshIuf@zhWe#u1E8SS86}heT=2Q@br~>2+!zIAy!VTEp!q(J}ys3;o5hH7k
z%kIacTTH`H@-%KL*{HBwGyW@`%YRd8t-*<}NuzW7Vp7GOrB%vg^+W5lRQ6Yw7y8KO
zVTE_VUV9ws$~Z6LLF8}%m6sm6U9{#G`kOh)y<w{3tew#>lMN0EJ^P4~0#^e8V_^DI
zO=OYU5te|6c|;8c^?G2rs^0v`CaBVCkz<^v$oaQ>F?an_M@8fngL(l5Bi$eM&6HCs
zCmT&IZs8W+eV0^+z~-U6v0lfpKIy41hs#=A)2GN#$IW&pvt|9P)ASbX*`rfBJ%!Cy
zd`V#kh<zE>(|)wNmDR`2#|_kSncAC&ZA{sv>zVT7s_H1_^Q=@wRl3dGw*=m|CxXhC
ztW&rzJ8=R$Gb~e#Sw^^$cAG#AW6E?ybMtpVxUUR6%U7qATedc&BQqkJ(%Nz>E)q=Z
zSA(3Afn%Rr=_~Eo{LRUqO{JNV2|fN>ou<xgm@TaplN6PT9j3Qs1Lo>XqtO}tc+zlH
z)fJPvP|rS-m;T(7uOcG{YiLtiZDcX*nxUyuVJYd5f^9o<<~gUww*_6SsSe7l&HCt2
zv9HB3KRn?4?k3~T@p`;Xk)Y}LbD_hjzo*59md2d%LD=~2j98-#{CP&xsW)=TrckT1
zWpVC{W%u2>Bfq5kneU9k+cT^p{K%;4kK=|{^bP=Sf^cLzb;td-6zbd(h-sd@9EVBz
zv!3EIu|)Bz7-*h~hso;6SAqs4Qd$fbSUhc|UcfBTAH9WzzG#F$>|)YRA%nEGUcPA_
z-CloKG3+N9#_Ktg+RJid_p8QmDOaeRk#X}O^2x13cGiAF5FR~ZLClZ3)g%|muFv6)
zWhI}692Aa3OQDkty&tdKhpVcXn#Kgvl-L5hR1t1#tWs%pI+z87Qu^5$5EY~W+Dlwh
zybNEWuv*Z?_K~BZt~M=$QG!pOBxx8nmKcwH-trO-ItX0^$7Ov%vtpU1dZ`JKGO)R+
zh6*#Qj9PN35qLya_0Da^=#c_RxHm)SCs-QAXn!yrnKOLQuP#T)fkZo{TEv={BDb0G
zvS~((6j7WA-PWnw;y<2Lq6T4Hf1A<(Pz(t66K?xo!zG3_Moo4Zhl3aE%@R0*+WkWk
zN*=0Jd28ed)`fYtax*)Pa|gieTq@l&<JdV0rzhSfGm-6S2{taZCVC?pUbYmHjR}}N
z631472augvVt*<|5FLBb21UtR7@Q5~s~&BS+x?<4m{Vapk8bri9v+v?$GZ3khXPa_
zzVD$8wXECFZ-nkHydHYzN1@?n&2sIo+6@NGwKHEI-&X4cYwR;UksJsp^pW`m$gg_e
za&{!>&$zb6C5C`FQ%&bh<|*}Y&g#R=6RKciOCT%Jt>MAeTF_PmjmAY~hLxc>=9#!Q
zP0^Lcx-vu{-Jc6L#R>WzU+9(|WPQ@2i8b(=<r^mHYO!dLt<f-&PtVQIAd<9VkbQ|2
zn5OYn))O(_<W`=3xcEk0MVKT*oZZ$Ei0I0EDJg;Bq}~l%&;;Z7>-tKQKKY}c5eqFI
z{2YrxO*0H24{{Q`SfmK`2fGAKv@$d+&u2EAbaS`CDW_7puI?B&xrD*xfMu$fH0CK_
z2_U{FxQt{>I*qkTtWn#}D?SRVd8=<2)ey#b)72}fD@n&vrMXC=)2IgqFG-_~m->TZ
zDWb##mlfS{qVX8*HD};rWhAeKX->oSQ(gt*fa*4XfLM!C(gxF^2E#LbyRMe|$o&Xm
zW52!QhbOD-Fws%lZnZ5mfn5t*7^$;u`ngiRN=%d)>V996n0vPJ9-Sl)aEq*>*MA3^
z);fmAPT~z(>V<&M590Q{kDo%+Pfwn*y#wc}9@wf+RLx8DvdiIz6%p+4N->KsTX_EN
zGW~W(1P5jR93pqCnJdkqJFn~uf~S`;8l)aWZLKZp!`I`#&IIhr(jemdqRHHBgF#R@
zdp7Q)6nhCuM4vhmVDG1&6+L|C=<sIe1*l#HRiZOzmZemiaBVkmN){V6^|LO+e=i-<
z)Du8uqbEd|t0d?jGUZ_{heV})J2A*}iK46f4Y}ho@D89*@idNv|G8kkJ|F32?qx2A
zRu-EBqir)GLgL(y?Z-1ZPsP07MIQS*h>fi1D<bDtz5csf(x%|6$jM}cVNIShs8a0~
z#MCBe`2|pe;3SV7Q8~Zn94G3gw32_`ykM2#NO+0R_U5inOhb85m{!C<=eN9OxP>1G
zqE*d0dzk`s#(v%;F~w3l!5x{Qk6dVZ_HWC8QFTP7V8$^yy0a|5uIEp!mavyWZCp0N
z(aBcR&SE865)#s)z5|kT{lFrPxqTFnd*(Yp{bJs!NGyC2n6$>-A2+GAzO{jO!k)T&
zujN3&z$WUUxhCYI06KI6SG=(?llp@e4lCPhQZ#H13t@krLFFte7U$vkf$Gp@mo%dE
zMLQR+XaPUDht{l+^(s=Ud~DRO{u1e5p9c+5WQUbK=KGX(-PB7x#qLe(k~ah2dK!-p
zU;I^in4cY1fnupj%X5#=U^rTTCm+tAk+{Dzid7arL0jV@mOWP=tE6uauYWUx8|`Lu
zhK;v<2M~_a&!J(zkY=qKmJ<-EHoMVV-b4>rWbdSBmk84=kHm14iaeRYC+W^H=x1&w
zo0W4o7`XR7<Yl|e!@0(L^A0*V1BtfRD?*)5si$wX&jpp7YADmVPQ(WAV4tdgjw;&I
z8m;^#TyR$D)Fe-&sAeqJmhvD^b%Q*y$fWM42C7|bfq2~n9R1`3JclvL^8Jx0W1TuK
zwo3i_br#HP%b1##ZBVmtS6+pH)MR#bMe%=SG2P3Y*=K<*KZif>**c|>XkLr1+iD6i
zgr7u7pTQgxC&S~N3NSRt5W^cT6SvO)p*a!Xy*2j)BZ&_K@2tj{hGJ4qwf79rp>C6W
zq2SBQEDgShkrSt$!a}SKj0+zZ47$lotd_*IIT6eH!T0{n$7o)W<*?&Rwxg`pla47O
z#LdERNwtyV_#`@vds8J#lTN15JIpuLuoj)b^)(iL)@o&y*!SX)*CfTsj6VZmKjBXV
zLHX4L1REEFUb0FeVHCG=ZK6)mwUw2<^iC(C{qS1S@+6;-<V?)@TV9-R19Z4fIjC31
zjh9I7!5?KPz-H6xbTrL$UQ_;6<V#6~w-OqmXA<Nd2=%wE#aWMjLoVEu4rhvd>-z2_
zk8@8MinlbfS8KX0RIs^7vlFhmF_S&463v!Jrfwrh`}pS!=+_x166DL`*;{TsG`@lv
zNX^YG;bGe{F`&$HG=t|ty5-Sm=*7ty=Kk1Z&C+jPP&|7e>rWmYy;=DKR(v)^wo4sS
zAlL_p;ix*YiLExR6q7huazNlfkTlPpvt9T3=ZQ9^?c1h?e!b8793FB4aS%;<(sZ{r
z0o6m^dgH#pKEXl3FMp@D&lNuNsF(dQ56s`(QUX##vSEUtu{;t;Vld^s#`4WqObB(Y
z?zV}hmhai8g@r59lFtT5l)*^bA(!#YtpQj+?%5@kZ=5JS`@ZrI`z$XtkK@RNQsl5f
zAjT){i#5BP<~k4YH#-cS-Y3<%PB(v%D_`}g9P251WA*JYD^&q1&Am!gx>`s6YPeL3
ziusk*dYG$i|K{aQ7KSHyHgQgNW^TYtv&s^%G%47bP<EotJzBU%L@bILi~9vPQhzaq
z)Ra2278~i8EmH8W?E07A6b~kQ@o2Y*JS!3h#Kqxj6Hf6L{+hJK`melF$JR<DA}fZe
zc+}(meER_|N_8_O4HzataRl~efQU7B{`87V%Xa`ykQm|&>Is{)nCXI#_x_%`EoUBj
z1{J=M=Ba}*3<|D5f#$it7My=L!%JNF=x}4@t6y(Z*@1NYj$M6Lz{-=7%u|FZT_v@%
z5(zKys6EMO2h$5@ZDx3MM@~%vv~hICy=g#;cD%VFn_Z^Biyr^veP0oxn1I}m@21s*
z5KOE3d8bR?2)n?f_f%4s$1Xd<F<`UfLgvKR0T$=vZ2l*yVHb^N*)!d)Bp|xdG}h~d
z2U<*G?~0MXrs3t{ypzxhcf@3V43UQ5l=6YU00g8BT)<blt$9-Yz2JbA%E?BPf|3#P
zjIE(r7SEY_McUhz2Z@JwfI=)_tTQwF@`9Vk!*(Yd_T&s&roC1Pu^2YKa*!)Px2qPY
ztKX-mN_6YNrd`L=g_nZ8UhnzafNe2=ptHVPY&gcjy7{^0c~N<$WsSB%7qX^snpB<~
z{=%f!wk>f;>X9P4FZ<cl;Uapw_n2l2WB(-~x>G^Iu)^TyPakSthlE@&tEhdVCorT6
zmRawa*}1TCJlQK(hwNmkq0ilPH)uKmz7bZ^-OC-(^I_d_c0-9HDruo?h0n(m5C9A^
z&B1dvU@bX~<G=g{7}f7j^hm_RD%U~ZSBP|!PDg%N`78BpzuyIlIn$xZeZd7`yN?a2
zvnhZ7_H+92UHu=d4nF~;yW7jL<{<wy*F?KpcOOr^kaEI|Vk|VUv@yMf!r`?_T|$+z
zf~pd_pd{pQE|@Y@z%(TDqU2kV>pYk;Qkqi^cFwCPPB?p5|0><?n-}@WNE%u+Hoef^
z2+n7;NbPU+*(qS|<%5K%!&F|+QH{4<84M<e>?>l|#1_P=9f}_hCG!D^R=oYt9p*(1
zi?g81sYpTwaw&Vdq-F0+Qx)?)Q+d*cb+*Y(+__3pzd2C}pDX=v_xNm}q|$I-J=`a=
zy)u<$wzK(#PF+Whal6i|Sm{{R!O(Rpwu_ieEqfKGQH*ZJC{jGkJ>uP7!wOJm@(#5z
z_b@^jX>y_Zkmi-_JHX{?bePBE4wk3;XzXudP3cH{z&>M4ir1fnlzx(})Q8H{U8yh+
zv4~7Dx=c~%7HfF<S%1A}oD#EpcEZE;kzl+K&aYa*NJTla9dLhV9SDEG+Y$`<ey@E8
z<o*ncwg?nszMR6w2JP$FT=$?FI#=lNR(Tmc3P(q$da8bQi7@KAtN*?OJH%h~I)g_Q
z8c<qGJ2fO(vs`bBw}7A<ZB`i^VjHCkaGz!HWU4lqR!J5kjR%sS=S<11$F#(s+1@f4
zZUr+x4dPX<3X1g1){%Lu+V{*}x_x;ZU4jng8*%=fG)z1<a0W`Q5ItKqaex}~a!nk2
zJ1WvI?xkEv#&<1d6I1ElxbAAl3i&jR;FHl&^U7}iTK~0p+u0Otf~TxBN+45M__F!+
zKyv(>llp~DK*s&S*A)EjH$Bq^hqq4VyJ}mL?^m@JkBzA(RFlnv{M`HGQ-NyrDPH?*
zC0<g-hQk|y)1SEH;XT&9iunooJMim2sVS|?Cn956Jsc#oAIw|02c(zmg^g^Ku3xz4
zx<yM*ve%y!t3er<h)I3xrutlIdWH24Nb)-q$in~WBuZ9k^%@ddi@Zr2a9a+?YjKso
zCcIzQLTQxHJn-#i{j%AdY2SQ*Uv8Yjz~19}oRp{jJl20dE_*+ZMwxOLe!lsfcKWFg
zmIWpg7*=Mhjm0LNay4lw!0IqWqbrerip_Oh&R`LLJ&K|sM0PJnbJC_M6F|EJ^h;JX
zN`9un*1lkC);t-cx+~v(2arS?4*xO++#bB(q@H~qxN?%vP+60q2r-rZl*%@&ShNe%
z;2(G|m-TEi{fyD9;a{5J`G{<d9XYJki6}O|zAzX4Ys|#WO)bf_{@LjJd923>$>l(C
zQxt=<*d3`cdHjVj1HJxBihE|monIeSpGWU?@LU2+7C9Bip@84W*N)oeS)a^KrauPI
zfjV*ME>CM4B$Ms(#7Qp_-MtXB_zgPR^41+Zc!lYY(?&*#Hq?o&cn*hJdx%nJAQwE|
zeY^Y81noB!QV{|a?@-oN>hw2lC7kfRDx@ENE8XOO5}kKY_1$&YwDx@?$;J0&fgn+-
z!3Ywy?%}_GjCzQlrB}vFc>fOUo5G};4fwXP$9L>gDpIUFn+);dxS+<3^Sg}BotHg3
zULX<{A!Xtw?+-@=q4xUJ*;Mojs||R`yaOypN$kI9jyypvB|y9gVcwg%@qR0IrXwe-
zMD(0&=HGE}ARW|3?TI3c&I8<3v1Sow3Ctp<8sHI@#<SmbeLEPU0hTQ8XMY($b4eyV
zaA+hxFWZf89vODN@-b5MV(4T`yv_-Uz<gZ|B57Lj-%x8WKl{c5nm_QCeZ=xKQENu3
zOUUkU_Tc@9H$D^`e;s1wIdjk5iW904RY>a>D7K#%3r4jgKf`6)XULk%A(OirFqHxP
ze9nk#x9fC@m3WF}-h*<{hct~Z$oiYVPP|GH5^S?-6*mO}dts3AXqDIx7YqnUG4=Ls
zI7IsRnzSCwW@`YO0b^fqs?CQTy>}h$TJA9SXh(3SszM3eV0nG6h$!yhH>H>fLtV8o
z1KEue$&s2Rrzj+@@YXyk##+zVy44~jKAejjLbDc`b}<YQ_CA<N{4JW@zhz2idTqkE
znYaIMSKyVi4BL55z2KB2=DF-&`|0~#lQ?4Bg~)WO$XP#(D^xjP^`bP?l$Rr+`J<9S
zBJSo}oCASknCBtLn5;u876BZq00|<X-^GG!CAPKcRDK<MGP$%tyQpWCBw!m0m1nb<
za-MuL$=bF9Q{(=|>3rx@<j64o`9;PA9uDYa?+3L4_2Z==#6iG7Si~z-o0AvS&z0%q
z#CdE;&QWwi`>B$RQ^9&d+jx$Xp+|O*rlOWs3JaTWtc-h$^c}DqwPLKWn~6>lJL|-0
zJ}TJTtA^MS&X4-w2;|`&boud2<kw(&<%B%A7N;C@r8FA98#oAt=xovz=fax?#mckF
zWZ50R2K=;J<~+`YGCd$Y;B>l}d{_o^jlv}gQW-EB@iMIwbvWy!5iA?RI%I7R@Efgh
z4Q=7YF6uc4JM}2H0JoB0p(q}OLmdtfHEf%YgXX@q<!NRdRIM~gP9vG*$r1VC+b;YV
z1d$R;F?~D?YN{ZKK6n;XYy+OICZk2As6UbA%M*yIOHLeICd)(XxVEQsJ47I^pKD0>
zecoHtN#A_bPjO(W#~nI-?5K6b{U#4K??)b=^~UkTQn8dtG$9G6=bAkY1yn6!jk1>U
z4#4b_LSCgql$p?9tEqwC?QfS>5)ZgGX}e-i_u~|@1{p?2DfDZp2E!RX!oc)sA7Nlf
zh<`y~2$=t-UO+&iL7|gEqq1U<kcqIVh#FzSkh8F>{U-wak%u7+Vbk;u_*pubyuz+M
z;wOA`vlXVG-c{C*v|p%{KOW0J>S*G|%Ql5qtR(M9Gw*+jxhg2?T|ZzQ@+>tvqbZ~_
zf0z|_WA}T-ESW=j2|P?T&Y;RApDZkz#xa4ent<r6qVDGRRZ5&o=Y&*7*gB@(TEIEE
z)7=-P2|t#3dDe3Hb55b>E04s*#MFUbivyU;d}zRnV1Dy~oPQ@rlG=xyqDuUmWsH*I
zaI|&D_Tf||a>BMb&l=AYWpRAbB;MsXegn4L=(Xv7*7oq&_6fCoteZ*VRdgHp^pb2%
zKVDp1IV@tY(epg2pRLR|YTld($CBQZm6|ysk04i2C93q6Qc@^Gz*&-($I)U4gfs}}
zi-#{mQ^-CV6GxV}L?LcV#q{WVckCL=**iakF)+fMps@zZjIK_1W~}m4H?bWol}m=9
z?U2qJ{8c;?r7=cLPmQ2Sv7AtLj)q_CFj8!KWfGiSj<yLo?s*~pcWX>=S0XEF_uPv-
zS9$b`uS-ugZaL?(IGaQ}8*@Yn#n^rvQ~{Hufb1kqvR(>#(GmWk_>*NHrup$~=)mYh
zp_{LJ1jd;vHDUb1?(fDNLI(U4Fs(4fZhXl2Irh*a!!Rxl?`!-!Kv{ZtseCN9vRoFK
zBJ*K|QMdI@oS0(!V#b`8P*iT%0`>)$WujWTdZU3(<}bPC3&Mh-xEb@WEpl^(R8FQf
zPH_-Jt^_e;2++(g{>Q|LBZzR<q;Fc3?TP{SSNUh-%xAvQCHP=2lC%B&^fq#y#y!&h
z{Xve6&rWd(x2TGvw>}CI?(+5MBeO-sv2*EQofF)(#{emf1JrXo72rU7sN{JAm7k}e
z%MxYcfw>hOW-HENSEQzhVWJ>d;*XdTFgoC(bcIkYv#3f*dL$TJRTv7zkc@iZSKB!9
zjE1X%sbvp}GzBaAE2g|m_;}Bj%1{S_4nED1oE3;CsYpsRYIjA8XZ?xfnua!{yfo*x
zUYS=L5}{?L;+lUT=lD%Eauq>Gj*dJHYhx3PUQVbaS5+efTULOwHaE!MKy5am6Z(R9
zf4qQpTsw-W5)PkCmPB@(L6Fc;1nu4!ZT(nDnMBbIeL2^`_oLO5ZFqTbg`O<GXtcO<
z#ByLd*=}G{Y4nqOTC8-9j4Y?T`T}`rNmIJhX>-+3*2skW9;K9qBDa`NT=<zN3%yAk
zhp77c!Kjb3iQf!<0k~Y3UC&7h{+L)G!SPY<nMI57H4a}bMYxD+Gg09czhsQ9Hm!x2
ziV}-R#twezEZc;Z#)Q(|H=7hZ&MG_FuAky0zUPk^F2TqPOe+nIEw1wBl|R9s<$S`-
z+Ma5=+a7ucknK=UhnOU(ZX{gSo5kGsjqb~!Du8JXVWo8&U{8TfR2$?JtI?EFdpL;!
z7HW7l*rSa{(~oh>dj?28J=S?gt1k(8n7&$pi;X7lfa+gGw4xIor_fTnukv9Yw9<ok
zT!o|Khr<_U_h$a#+QW3L<97_&`>mV?82BbBbmR$E<%t`Xn&pNJAvJn<lvDj4RIkn2
zV`nQUqdG04Cr&ZWl3W^}@yKtS+bq50&We`;%?pd8<F=Q7<!v=T*C+U{0AuM!`-&Pv
z69)hC8d3?hu<fwAW#r{5U7Nhr7rkT)KO!(I+(V2P2MlI(5pVPQ(oDSxb|2~2yaPTQ
zB<(*3`LRw0{jo;&pA5Ty3uS0fsOY4uB+wZD93&=-5xJ=9f7~PFKldoP#+CA_Ri(RT
zz%Yu{R4*fh*!ns`S$gP`h^@A6xMFN!GOJIfIYP67Wiu)p#r$Mx8Jo(xyn2v+`BEj@
zxT+PJm_x9?0!)w_Y;Y{`XAkG1Px2+BOO2td#<Zinr1#+}HXB-^E}h7B@4n4Ga<)}9
z&Osn4@jl$a&9oIGTRrP4-Csz*qQx^m4W3gtFULC=jpc|=Ea{C^O*0-uAfKU9>Se<y
za48kb5G0EH9Dr^14hY*dPEi~^kEEo?wDg>BBc;j=WUx7lEcC>Dd=}&%%Uwyt=ZZm5
zlxL1%yGZ^aWg13Z9DV65?g)0a2~!m<t+F01r4%<)C5A~#BP$g3&GN)&t)QgS6tm4p
z(0`+RWjz`tx7;%yk2wBgheRMV9E4=gePIjMPu7gIBL$=EncKF^0MBJ7{0pXh(?8xf
zUDht3Vn$qqm81ch9cmiX3?oH+f_QQbjprwCe}>-REF4=8w<3yGa?0YFaD`Fwc^RP$
zthR)Kiip}@BZ73pKU2WSn;SIMWrn6}sxp>C!VR;(f15^Us0t@8iA{6yoA>eTZ;&H$
z6_M;%>`o38GwG<uYH-k2;5+R*yU5ah#;{H}JB#VkVVcmkyD-=BZB!8*Sb1?5!w(WY
zN<LpMF)cC~8jNUIlMdq-ELz3%EW#%zlFuGI6&)T;R4+&WBmIVLlDaPhcVkj%IUQ$O
zrHVN@;)TvCIaUkPd%Js8=-lP#4{d~d!@4+6eN7F+DZaaVoN7;cm4deOD6V3F0{&5%
zf|nxQSB{}U-YC@M`pn)dl~Ri6<AaBo?M&@mC>YoCsluCy!aQzdSo~T`9BfaXsuY7J
zo^mIJJ*29ie$}?`ghN5O9dSB6ll3wyT|!aiswC}BMfoK3NFlS5FmHQvSzPi=CShm%
z_Z?6+T=a?&H!+HDl84D!P)N6&K*X>yO1cGC=H8sJOG|8=WdFl$2VK{lsXC@OLZRM<
z?b8-Mm1G3zok{Acal2@@LXW8c1_5EAhPo0Z9l?wZg(OlpEGu%g_G1H3wKZ=S<80Vn
zs+QPslNafMhG-5*qw-1!1an)g_(rx__>zY>wuv4Ypy)25p{-~t3O@?IcFL<MC0NaY
z8C|?hPokx31j-5{NuiEvkS9XCso|BbuqoAl7*!im0&(8~lqCV8qO;XU+r^an=tFT4
z4X?Cs(`jdqk#7Svl9bbFA3tFMQ~(4N<VW7?N9HRO^naGRKT=PjNKw&QMM%h0jG!^t
zoJ3Uv6UbSN3ozN8>wCq5W+=X>{WSsa{J+cIu)>g<^fCrX?*Jo{5FTdLC3v_`)<v42
zg4#q4?|DO#AuSZM1J5|E`>)!2#(6s@W*(uCY#p`gF4_u_<O@o>4v+8}#fNbiz}i)i
z$p&AFCbnQHg5tWJ!-l8S{3J5#Sg5Xs{)%moZjAn;{uT<m;9R+uONB$Gn%Z_eI}t%6
zmeJ>_{@DPbLF=}(a=WlGD;+NbS}@!|#S%zsf*%50@wFP_{!?SFSNPS&8ycfs&phZ&
z)ZQX&@f{%BV>r8iLPVBfCVAe!0=3~Od}4qj&C$r8{G=mo^PSlAzG;?CYQg+yUP-l4
zE51$t^Die$oD!XJGth7C6t_vU6Fp+LNhR8o1=YNea)q-plBPxa+@vJMl$A1JT*HA`
zdu!w-N#7FAl&|Ek_|FaXlHn1ygt1eEQgF9awFpuVk?PLh%?`}Qa~g*vVK`BqMa#w*
z5N(WjV{WlgaVp}rf;B3Z5Tx}djh@JpC<=#dn}qM&6~1{Cf3;%Luln{yqZG)kUp=aJ
zvx2`#I9WBUbMyACq|{RVmUT6D&`ZPX=mmwS!put}r16Oki7<rTl0!jVS6CKvdA%ko
zC9!3&NBoXB;=H|FH_JsZCLT?QVHUK~LT?hgu3M0&Or}K-LWr9>slu*Qtx-Zr(my2r
zL`R7HRx+}8kfW<swiK@FzSh#J`<P4k4j3<g2hemJ2dha%n@s7qGi+i^*s080<FuQc
z;02Qwxg~MQ2GBdMAyfyDiH5`X%QI;7%|(jI5RKte>c1IQ9<^1qC6&urt9X>h8rb1G
z1cdPs<(`f)BDnya+f04F1?BPy_PnY!G=C{om|<<9k(go&AQx@gJ8)6~Zu}~>jJo*T
z=4|hGgB~l{@9nsuSs=@{P`^8eIJFy8QX)d5T4_}1m2V!LYXUAlYV!?V;hz+Eto2)v
zz1f??2k~qw!5mmO4y!#1fJ-jYI_`QG1k|q0xvXu<)m+3HA$VtZ2(?%cW`$0;>BopK
zb`H>MO1`$7mDE1b$MVx-$;NQW2N@}Y*pnm9Dtq4ndM|YHSW4+$*_#BjWSmShKn`WB
zc!z;5;r5%3a2e5t!8-)@gwe6|rzBmJ5`SDr`?~WEBNCnaPu)kIM`$ihe0z>v2-4Ow
z+DxG$OBExJ`gMLw?C=7bZS;L!)RdCk>9J)v&5xyOFI!OQkD(1v8Y+|DOw0j5=C{N+
z1Q*2q!bv#}-<lPDqj(l`DpGtbT&UIB*IyMP)Zf%A=f@x^J|V<^-xv5P6e?az2bx(6
z*<z8Sn#RX;sA1V^$BV>nfmzH`2TF0BjHfgF6jAmhl>11<?r--KhTCaSw|ENv5?Edq
zcb4_dVt}X5>B1?LCL9%lpeoKxHp5SfEsnO@CL}!Au_63(<EMt<$Dt(eHr^FNhuMOv
zh!xg_6Aq+r<hy!KYIpQgakIg3W0;`S7seEy6hL38gNbt#5b=ayo}t<%l$)EAO&A<q
zFg{*3QL;swa>y;zkuAb-NTWoMwSp=dRAjalq$@2Le~D5@UcqFQt6|>MBYqY$MvWRY
zsal!sH(%P^5SM8CY+D*?U7EGR#h$^|P*PoXghaLji!|rkYA0)vT=9l>vzw2KJjk7k
z;<^Yw%~vQEfOzJRAz1sDBTH)^8?L=fU$HWI>=Kc2Y{&EyHuglx%8#>j++T~KJGt_<
zyJ+EumUW7iifj!o1@vzfQR&`iv8u=qij#ew%z<<zUt_|-$WK@)Ye$_eHicKa#4XSj
z8iddX<Njj}!6peK-EqumRL>O|Au`!tcFL}<k+Q3n%Y6tb_n0j_G>ET4#Li^hG+oiF
zXkSynd4-4heF0^aUalbJjk)aI{JOqz$qbK7PWaghWVJHIu4XZA)}uTFXy%k0Wzf#1
z?hN?q#Y`Zt%revvLEdoJ{73m?Bz4?)baKn9EbKBDM$U?}_nM<-B<od?6ncZ26)^`U
zah8Hlspof2RL9nI0~>L)7KDZ@ixqsubeEF4nA*%ETn#$T)lfKf;EuBz9oNqjw8@m8
zKgL8y6-vHa&lW<{I?0C}_viz>0$02kOVF-qm`T0I4guw*yE7ebpKh(b*gO^>FMGx6
z(8g6{e6S*0RIwH-HH<Oh^htpt_|<Bge|$j1Y}r0f>X>>9<@t&pHZxLC+Lzr4Y@J-1
zgK|e)iUinWJ;gA9<df=HGgNRI0Yd|NHgN?BeM-tbe40Az3>*^1DY{yo@!;_@*)N5<
z5IFIf`TU>!wDig|8@f$w1$~%^ezHGb7Y;-gM0p@W`|P;A35{cjk$V-ByzN6h)EN1Z
zMid;EOYhWrl{nGw;ci!0leG`$EGEn8oTtX<=NN@q<O9O0hGzvYPyw%hzn_(1FCm}(
zV9#og=A&^$uW1DHniIIiH#XtdyQRic{{9jrmq~}DYxlX-e2eXx%R1EaGZ3{ryQ5ww
zQ!n|2jv%y2)zD!U6|x-e7A9qchb$J0m_@2+!wiA{EiwoH3r@U$)I%JhN;TA%%tLl^
z0`sEX7u;0qCqKdDf?h$^1s(4aGw&pCP6DD4Q<7%J&l#JfV_1=qJ#Hs1-9LB%+&YZH
z=yhq#Bmr#@JNxQ5(6}LgcBv;HO5~cxpG!G>Qh3}9;;Va+O_9fRgjK64TY)6d>|Aht
zu$7bLQ+vk_N^ZIAir{%0RntX}NpK#9a_jjD_XZqmv`daMcZOG+QEd+<d5E$0b1gIP
zQSM2w@PqDOXhL3GZvD7xeD4?xcy=l*?hBQg^Lg<@x7SpW;yquZ@>WTr_(n~GQ%dY<
zEn6%uw#o(+9b)v6pCE+O1+SnYg+_JB(?0IXQKgEz1HibazEI`n(Kbdsr-fYEV^DAl
zT!z-8$-Oc(ayoat{NeXG+FbnaY2Cl_d&}HtV+b9i$<*8US^CXL4Fd!B!(t<D%A%|3
z@cmm?Y`&}8cz*v>$}4K4>jhlD1d>Ai%6D?cB^){-1oM2yuzD$wN*NQ6+ViQ%rR=+e
zfP?<Y==VV75ZaeuHg%;{zT$0!5$jZ>4skLx_BsASHUE_EBt=%q646#f{rKR}M!H_H
zNZriG5&oMxi6dMMuXiP%u5I+5d|rlNSESV&?xQz4aVyU?sbt3ePu?}4w0(tDvn*+w
z2n-a4;ODd%U*xeJ?;;dmE6)Pol@i{Xd)(IBemXk;AHP7Tzc74P^LY>P=RXp#hB?-<
zosLbv#{Zlz6Mzy*%$vh@&QW0nRD8GGBM0+V#&dzgT`-NB#k(i)Q|y)bs@m4>f6^DS
zG^V3&jx@ai+dYz3^7q!5qW(gZY6<FZNlZp*AIiC>{Psi&xXk+-MMT;+@C}x-bi}6?
zb&sf3U4J`N6p7^=-($!1CRwc^s(FwrMhcfNwgA5ytIdGZK?7IE%(8QAOdPUiw`u_d
zJ9dsR`{}5I3b_V>6rV(y9YRshh(Xz^nmkOYm|ChLB0iLgJNu#%?y2FcVn2>nKw*4h
zc=FYqLbh99*JqN>$51X%<cn<3xq~=D7rzs+>Eq3EpV9gET9M8sg<;VKjgPqwagwWd
z)xeI_Q>vTUgmP#39%lI`Cmlt@_OjIw?0H)q=kB8gqax&2U0R19B`RA?i5U+j6OL(#
zm<PmWDfu2>9@YEX4|KkNx&X<uP6-Sksqp)hUizV4{LH@m+lRpailp^YbCjrFiKIry
zZ%b0nS3m>fT;;fcE0R3WSv9<Pu7pWF=UxPrroMEG(DsX=`H3p`g)NIVPm>yH%o0B(
zsnBVg=}&lxH?W4G(CAa&2w^-O)?ygu6ofU1EwG}wOx<r?l<`Pq`>wZZ!1&3K7Hr2A
zk*6wj^!jU{Ox;F}yg);+zt4;hipvy&?Pvja{%?EM24YUCAzQ$D16QfL&rw@<BnP~K
zeT!;$y2vf}r_Y?K3&@{WYgHGtsc>E-A>&eh1-FNImghc12A>3vGQ#{7Rt>nN*=`mn
zePR}>d$D*Mxus{_kb<&CF|J~_^)7f&JZy+$<O_AX)iwSivUd`k<>(Y&v*6H7YDx@=
z1vfOk0f`3xw*@`K1ufwC)0SIi<?7HaHSYEsQ$qk!cf@)*9|H0b<S~DleV`(@0->2t
znY+w!1|0U5FTT0@0CVA3*WWk7!{M31!WndTMX&Y3t%TVa!I)uOG2jI+t-W`Jn+^qb
zA6W~pP@*U4iLQwLqJajJW|W@kdJlZ)XIS)baSUKrB&1>b8RXS>cSmkqj%1dng18jr
zH~Ij7VFv3nWD^T`gP{=try<_lw@HV$qk@}$vTfw3)}a$Vnv~4ytk<PuM;&flDSe1F
zH#^2)tC)~&;NjHV43u>(|BWKTT!y!t>@Bq65|T19pz6FKEYv&j{!>*&@1zwFx^VBN
z4_nMrGD2`|5QvwhG*OwA0$gZNcl@z}>W00Y0&gai08cy{s(Hc^n+|(RSE88O`x*ov
ze9?rq0T*YA6`#7HI%}vr+>ECijG$I!S8>*W6kEwIzpcLq0Zg^H*NIG?+wh9{Rkc!s
z`KOz^1+j4bk)Z91r>@zn!MWNK-;SFDl!{Y>rpk<&M7TKN(x)Rcq30d#?b*_F)@Q26
zOO;*`6Tbol8VBP*hPlF$-&%ga1}KWL7rtDJS)8k0xb|`-`b-34L~0KHuL(%#cI`dt
z`op?j>F2*{mYh++hmm6U%9y`LRw5K^idSX%YqY-blg)1WSGX<bhoqQP9G}$&n3?#x
zrsV&<$(rqd2P`O766cYQ3o0{h=<Z=RBBUGy7n+!}Guq0UNfs=K27qI-YiBgzj^a|s
z-RL<be|y|1|0>=ouCaob?81;@0*7bGWBaPj2(TsCkQ=#Gq&2=`o1^=<YDx9KP|nsI
zokiMmPnvXz9nh8R+sZP9!0RLr-YUBfYq%|K7;K(qz#&D0@KY#kXWjwL8n`rGCMsch
zW={9GI0HGU7F4;R=E_A-f*4tyRkhFMKP+#t0AD_1Erc;aQ-#fq9kqRls;C<IG@|S>
z%%nG>#L*kk`!>Ezg|3V($w|q3=4A6dyzU&ImYt7mzdy{QCDm5bpjlbHapdblYPy^m
zsF}#InCQCrEdA-$`5kas`>2)8rNi#RP^~|vdwHzDf020}5mX{8IHx;9QI&_*k&MU~
z&Y4z@s}Yxq4<s)a*2jMePqoiJH1}iUm2(X_Y?||L<uyC`E@Fe`N2!KH5@P{2W51}X
zO6O<TtS3sDb44*Db#*>)t!(+;oD+Q#=ykpE$ErU$zKf)ql)DBEoK)drChOP-Tc#dx
z4gc&YiK7cGsRBQjtE1@*l7+RvZATU;%rPMvT@W%c^DnP{%I7!U-91eF#$y{Xws_FO
z6vZ`$2E*C^6;m<~9S%GOP9asqldXe7?BR?D$!1&&Sr{THLKGXCd6+xtMBa=j&xRDP
zC?i*r>&iXB{9f!5%Re5hVrYEqs4Uc1tB|O(x=GI}{Z;-lRzt;4!oKOMB{Fc9t+jyO
zgCEc6)*twGTz`oLRq;ei|2m!m{!BoAFVZW?9_PBGVrqdO3xN-_V5VAKh-@^r-Gep<
zuUS5_5w3x`2J~pJ(@mEsX)hDMQ6PQ%iqi;E^9l3#3NkDNBh~%PJu1|EY#|!0evKDF
z4c6km8d)lY`9aqIh-Jw$q-g$Z1bNz~!>tq1joLu6s9($0nr6%Aui1*5!AFzqoTJv3
zldG1O#`>dG(S7-=EFHFo_Kn&GA~F&pH-5+(pa3pk^5bJJQA&7L6LnSfr%h)nk_C)t
z*?#i6@#vxKDiK=vnZ=F{<7gsW{1r=5#qnyda9)&9_K9Ssyf>eAnIyz65Sd%K*k*yt
z-UzbD3^&^dwd69H@f%Vy4AO!k#MFU<D!9%sfJq~HY+U{t>#St-@hdDt8_+A>VFPh9
zo=Ghdt`x8SaKX$<EfZ_%^zZuawbu&rOvvq*peBP7AZio!ikXeDD=*3xa-{Ls4ZW+g
zLXC-z!ez<jPY<c$c9Y<5aZ2Kh72%fRWPCJz-rKVF29dIi)(~E<){t-;{2TZQmG1zv
zSL!R<O_lb#mvm(i{CqX!igt~$Y|0uzn?Td<E=FhbPe~O?kDt)2W9~Xq3y=+FOq#4K
zy)v^ZV^QvoDe*_@Wql~nNW$FYZhb7#f(myuSp@V%_K}37_Q8@*wD=gGxeba}8EvCi
zA|O851Wh~97}2w+^+*t+!htl>ZTUcibNx4bRO&|`YZ(2+c~BZ|xQ3{r>~4%KnzEfW
zD(R$F<b{@ucp@vD=JQj}jCS8YHZ34XoMHb6eFv!QDB!q3y`jCq4b;Cz=vdD({%OW*
zRBnJhq}}$_rSjQP$@$#fPA>h*!%+K}rnw-qlP$2Cn^7mR%a+iMl)tLJ%SlJ{>mZNS
zh>Ijdcd0ITzB+Qj6^NH9r=+Z@d-*lzR!y?@?`^kgTL#19P&%4ol`K+*ykMQ<37Y+s
zX#NV+5<Jf^&~a21gn&rOzColzAX{cwWpqUU>!9GJXJ=9iU&^?Pa<+-Q9{zc^e{n>>
zwwPREOA&8~$0CfCr2Ml5vO90?4xwBBEY`Bn$r;`GYih5~R(nH_+e=^70b7%G6eDCi
z65X%v*5|J%rdEXUWgGDx2D~q)g=qA9Vl@yo)+0lZfn&vxSP{CRme17zZao{;x0R`&
zvzBN2lLqe}%Vg&i^aVc%QOkrXMrPf^6^TFMeKe>ad&2)q|Mrdl+u8y^BV`p)F>*o;
zOsFrIA?f{lxx@1RZD|oERm+TWeI4`kW?3UH8+#xX{)ljp;g89quh&umlrvY>)Y+xo
zoUbOw?5r}~zi+2BDv8nuI#&l-2JG9`hzJEHL0}m~;1#)ry#v}ksfz>pf76qil?0^M
z$fe^UHU2*U$3Qs0CI0|0GYAT$;c&K;v3vMR(zs@A;FY=q9^tFw<3liJeyOH;Jy}Ql
z$d;&mO@uI&@c#gr@-uv&bGpSeNmX>4gjWGHAHor7LuD~0`zh4FgsXbqZYl$U)<gdQ
zW(oHny#D~X$K;hjN`T!N7d}qUli-5%%Mspf2oE_Q%m}lva3Ag&w|{x4Wy<L6QRg_b
z@I|xO#xf74<F|h5P?Q^z4Y`VH^E}Z=w28Ssr&#qjU+y1Dn>Q?Mukk<1@h@ANrS}xd
z<_UNk0sDov545teHoxjUyz*yLQ^t^*QTiX<H@@WO{SQpV>B46Ha)iFWuzVjMk$)1s
z<~)*(3oAsoco)c4FYaJu?a$v)*w2#ZxlU!F+EhqpPA&aJI)k0x$pZwizcSzbLafq6
zW9$|~lst@6Dn>DqHpLff@JdER8jf)iqQCquEVwZ&lhnDDIrhyVv%E&JeoKe+?AiEX
z0!NX^eLw1D^@|?D8q*(upQaNV^Zx*3PpmFK@5jOz<{zj<Ps|j|hw98G^4pb_a(lCx
zm}~>o_LG*wL&F7s^NHO@ne|@<Jlo9El3RvR2jU*`^^|;KTsnc47fJ`FZx6&l63--D
zei+o?l`SptVYa57w~50Kd5ZJ;ng0Oa9Ob@PW4T5QK@p_p9Q!yXEhmA0%)BFDv+4kR
zmkHSiDrOx%Ix}0#gf~*ZQ(BBpnrr>b%Sxh$Cg6Lj6)b4vN=xphv3_1-ZLt?QdYI}y
z<J4%nEMTr5j(!&TmwSi^iRN2MdE!<akQqavC;LKH{)pkX-0%|qCAdS6g3?W;f?k1l
z#8Wf+{{R#G1#;vu;=ah?W+)ZT(qN?YpX=Nod7bJ10Gow$gC6<65X}rL?1@j1e<*n>
zz{T+}3y0y~sPq%%6J*VE4NcBw8~UOgeG}tPa{da4>JUow<b-6ND;e9a)rjDI!z7EY
zOAvEdwZrNJa>E+EK#Rg)6=W_}?_MIymoowBH7rUT4i5e~e}JQ51mF6LkzB)cqK_33
z-Vtz}{c%4n1SaZavqt6wBR0M6H#URt&I)GBzh4DgXYmn?G(o^miO6&637y1GaKD6<
zHd*dbs<XuA2-WM<w*|S-SXk(C07W(dcL08FBQMctx^SXVcTd;Beik#A%5mS!FeWtd
z_EM52xo$I-SZRb@xJJ0wB(!C7FORsmi%`vtUOYm@(wf_->^r%?7%m~-<1yN?mlzhs
z;JHwMSBr|=TQVW`7+)t6zzA!wKBH<9#_nkgxO?~pMc(2qXvPr+8Wm2?yh`mNo1|E(
zm;hsl=a_#F_dDBvsK;B}GR^p$m6_3dULZVz;FwgJ&_H>H4hq#dnMZiG{<=P20)z~?
zai4}5Bn_*OROS6kXt}W2P^^XF>~jc3P^$#Lizaz4wG}V?RAw`nq#2a9Eq&syHMY$e
z`*RwW;n@#NzffYC0n8h1Y5xF`MPRX41LAp<FymhVFvif2nL_s{g=f1WSBGP~mfpxc
zi^w|yrKsaI@-j1XLpneTAz7I#LUW90aWpb2lDM<x4i-4_vrNihNJHYXlDETTpipm0
zI_@l%_;gJ^6;~(xOHkkLn8r0zn8hlxL^ZnbZ|k{ok}v#`^=3a_oP2Uma2~)>8G^K_
z=u)MVKy#{b8S#2IMy29NX2OYqGHz0X66cFRcTVN1myEej1u#isxaQ1eMYVP1eq|@#
zT=MZ~KsFQ~73kdD)0=<|IjM$D=mkNdWgDG&P#$sHB3<5az(ibS!9$+Nz6fOdwKWH4
zENl=63oShm!Omd@<pUBZ_?Bi9BIYFWD~o7b_Z!){2=`uQ?HHwxP@+Rz!#Ukls-nNs
zFT8H0;g?V@?FAJ8IM+W?=FE>7%QL(+XSCv2--&!d;eQxyD-C(X%jof3qH9%^M&&oX
zOU%o|W4O09w(6om8EEt)X>Q?a23DpJW>7N1*p9SDP~4%HE~e7(_%O4sW}Es{dR@SD
zT$4XR{3C@*{rpcAVFpk``Fh2-2}<V}^)guYYtbss@Si!08I0u(M0fJK`QPl~RM-Sp
z{R^JBPi!1xGnl^#_&Ii&Th&Mb<oy2tQ97*vDe$*4()~|(9mduYyXMUoOK`2(VPdMl
za>Q^tupE9P*X(ENbC@<q+{)qdzhq+C?fqf^>~jDO<d=ZdRD*J$LlBn`#}U>8Ys^+^
zgIR^LFetH0hLuSbCI!OLY{VeuF3hljQs1R8HVFGa+y<lad`q}Y=nJS;fu<}ZsYG=b
zI}2Sz*qrhd?mlvl^@5lg(2hKlNUPFyH6xasMe|*vrf@6EO!@BDPlu@0PtsOJRxgN4
z0*!o3+Nru`Sy=WlN1z2x{q8IJdEX2&#t5Db3%Oe620g>K%K+ja-9yX-53vd#Os16X
z4M7=h)F9`eMYkVteMF*Lw%|S;%Yl~0EopjyDXMUqg9YK_z9TLK#H&1k8f?mc2xoXo
zj7$>USKMWZvfF?({^Dot4<jmb<MzVNNz%i>itG0&7^;V`Q<h-2U?ZuyI8)r`K3I#g
zV%Qq-JPVpfK|`szHyus10jtvvGmWWFg61unU{=HC7>3!8maqxHF-c$&*PhWpYi|mY
zyI166l>oAsTbR9OOY>4HR{Na-9tzu^iZhmB&ao*&s~`cFE-oqqY|(c1#4s|NJk(WL
z2<W;O6`sry=6IRHOI3SUnQ5MHaqC1e!M&<kJ87<_kr7YgL!h6x#Idqn@Ix>RwBM#!
zW(uXK@kbxIO{yZ1o|52Rk)&WTj50)nX29+fU{yMVQWq)A;&3x_y3=gBm;wN=sdpIh
z<(C1FCfqzln;hJy1aFR9fwGuAN{(j|--HB|%a|Dtvob@L7@x#uiJdzbj2d+r@Jk0b
z@O>4=`F~NWJ<86PtG{xWTr<;ie`V$9Ic8dJ&AwPTIs>0B$B9!WXrg8wK3JCaU(|JH
zQi1%yIEsZg?sB2inNuLu@@r@y+z14@DLaiy&}thYTob}JX+2>O;J&;|qUu+<SBkgf
z#%^lW;yoG$SAHYA1OwW3%O#k;3t;3-kX$Rm2&mkE@<3fbP<k1e;hC{7vCLOES!(=~
zH`?TdQn{$>n_n?puJIl^1qr!THh<R<1=nJQ%cU*<0H!0tR9pwC?s8|yR?3JO9V=JK
zE41t3(dr8ax|mt&GET?fV5vuk#DN8hn1rY43ZK^B<pzB!#wF4~lmfA9#C+fHzo|r9
zDKi;M#nNf*qf*xc+o({vUb^i#%7f}+W&>v|Yf)!TJ~a_na4DOWBAKCQnG1fQlmPJo
zSA=U069gl6J?whbf9AvqrOMo=1mq>-)Hf8FJPSPV+Ysje002ieO`C7TSSIA|cRzsw
zgw;g)PGhJKvN)Tm`K+d*($QuEEm0IK&NG{ork8nu*ITarN&x|Z#D8Xb$jevG*xW5V
zDC%7B1)s!eTDry(I8s&0<MLamjurJ08!j;ji-U)7hEJ#h;t(96WyCsVSYeM9O__!y
z0<m6L9J1gWyuhu>!OWRb7bVMbDUB!vzp0OmMPRx=nTk#0nOq{V^)lyGJ<UunE`u?S
zhf@W{aan`nI#yjvd8R43Vp&=ssU44OyN-f&eql=Dt{_wn;IcR&?HiYeT#c4$B;Lq^
z<>hHsFl13$`yhn{@pw0f6NJq!J{2iLnU=*Bd}e1ZGa1WJ`M6Idquf)3LIiIl$^IeC
z$KH~S$HJOOYQ6>@$nVs%;ubF?UzBWeinJ<c>=r-VXHUSjXnH^;5vLJy{{W$gV`93*
z7a5pgY^rj9)_a0*fE*ABm@{}DB_>yugw+D2O1?7@A1OZ=1jUnCaPuiCuZ6v38$}0&
z<M@pl%jjj@Ou-T81kZ6Uht$2*E16?lVFONKd#Oth0I$DMR6sW8**Hy7X>r+pCNH^m
zbAr<!oLR)GaAtCREQC4Wfn@Gsk8rjwQCohav=wz3m<o8x?aWQQaHPNv!cs6Y$8UL9
z;J-mvEXB@>O2%$n61k-rhN2!kdV^s|7lG<8l+^?)P;!Co3a72xGxV!bT3Vb$dfwr0
zM(eS3%SA1fH~#=Qibb|IGp=CiJ`I7)bMVbnp(bFeVM1|On?Xu_ZeU!|bLU-0uX3?0
z1G(7^6;)qQv%w&#sM!obeFt)yhQ~+8nALVvqF5-ff+}Luv?Ck8#AgS)xF!s$tows_
zG|awG&3-h$@}~lB*mW<5uzxX5GK5oZp-aqs$3sQtSXVN~eKQcBsD{5-Lb-gw6i1+y
zr)&z_{jeYUx!k!D<7$@|SCcj!jJodJ#`OLn@KJWg6WxfZbiUYXS>W>qa};D#f+LQP
z5&r;llc|CA2Z(cm-*m}0Un!_i84-V}iYT_Qf6Xz7YBX^L3thsxsgYl)+>8SE%&W?4
zeDyEJBC`f617MDbw=l9+T~%gq+Y%^!#)fYL5)F?U34m@J>Ihv$7?fpzp5bYEopOGH
z1`y6Mu<(PpaO9S``P1}^cftjFGSlUew~we(4fK|<Zy<taG)>HF-q6eyp;U|IfKA(5
zOl|EZzcWYF(>Q|CSzjm{43EU(F-A+WVT<7HhcTsw>J>I^hT`TMbDsDN<;$D7clb=f
zDQsc%m?V55@mACZOxcNhWz2MGtirQ~hOczQ1q3K9tl2E(h--udo$(*)XeE;0{zS^z
zoj51F?_w<BToc$-S7e^0hREhXGJBN%u7WQ%c^J)^eh}2>Y4I>Dl^zh+Y5mI$>2KLB
zCo?t}ID{)^^NUNw<PrQP1g2Pv>wgl?%tgW;rB^|544pkx0C$MM@!W1u66idp87%Zc
zx<S%*nDjkESo@VFuHb;u5n1(f?Kzy7oK5~GsOM@KUZGDYM)h%tyev*HnA`BmA~GG4
zgzoP~1`J1Py?T`&B4S3M{iCvB_JPrglzC4L1Hwl@;s)9pql3B6fq%3iJ{#zcmIk7R
zV-e@@4=`;)`W4sWSe2epSQYkQq~xNfJSiI@ut81rF0DdY%o9!&@x;(bmV#N7>OYsM
zX`x?<j;ai9)iTYY0X_`UgD=pXPelBj&G1(L0NlLzH84#N5UytGC!-F?0@m$c)Sx}3
zmtv#Gi17n8=1^=~xt*I64>1CaC`#dj_;gF#KfxQAoC*Di4kEft*()oEZ3yD}BQ)lg
zaW{n2dlp6maicNk3EjB4u+Y;T5@+ZzJ0ev|#&nzvUJS;m<`K#)^Z0=7;v!QiG-3BD
zbCc2+0H0Kk@q8ABql`@^3DYz^km73$)J_vcdj9}Kv2f6yokEnCs#0T#xp5CGz<u9S
z!9nFh18jgOhHxn1xqxN6m|^IPNwG!uEk>)5YEyY*JN5iUOx3KR3V~Fmh8?pJV@=$>
z<~HH#Q_Qi5>SD8~+|d0---(G<1;-;S#?Q8ora2qP_<`}y;Khbu*}TMto6N}}vRM5?
z+7(;3>zLB{LG12Xq_@F(C4_dTXT!ua@=eb)K^oVx2SR~32!Pnae{$BN2gX}uw9~?1
z6GaWN=Q|^MCQ6uFRhtpiBQzMO0@DR;{{S+gYY2h$EV!0fqp>BxzgNF<%tfCA>L<lp
z@xGy;m<rBx#XIhQvLyB;%Tqbm#X(R=wTYN7nfQd<8!A;M>9hR!e=KRZX)ExR3A)Bu
z&4A1roH>ag9#WuGbJU}y9CzswaXwWhD>TwC4ytqwsK~dX1ZX<s`_g#PJ<@0FhA~8q
zU7n{%Zl)(I&Y)OWaLZ~kCTOvx3`VV_IPumSCQ0aQCp#S$F6Cr*33@d(s(dVgrxESG
zZOd3~pXy!f@V_@4=3N)LQbl+(G@;J`ba|8{wv7*b{X@>RO(j#;8f}D#3#GM*S;att
z%V3^IC`;#a74wt?>M7<Z>Vjlgo(M}M%1Z*JUZY#(fAJI-8PcVrh%SyLs2FYykRrLD
zAGoN`HeF<j#8IA@V_d(aa&_J61`m1%iATZdoYg6q%T@~{upGt#qs&$5Fb?wUls@Gk
zqPGv21A5}>YxvB9w|qhtBL_167H%%f`Ksl`mK;g?KkAn<R;$cR9?rff)Fi}0^A{Q2
zFXmoBB?`N!w)0T^VS=AfoEbQ%wv%IgK(RQ0#lb8ZtEM%u7+eVbKY*6AK7uNz;H8|+
zmvZvl(-wCK!}4Xbhg={HSE^>WxY9Jsw(33-Xw&X0tuc~2fF$pit#uX-96y^37?#)x
zo?!6@fmL~GP)isKiRrgELDUJRp(_J|8wV2!MYJ)SW2VLff0y)$qx&FiUL3}u$j#}*
zJ+yRlJX(iG_ZP6N)}c~#%ym!t<}9~F%S$030ioPgU@`om7<wk4Dba`<aVqJB%$2X*
z6m0;$(e#Peb7~=HBUfIMtY6eZ>{fQAz09l;@=om?v~emM9+#?z^c4#jON46z_~q2Y
zn>>@tUT|U;Da>$NZ8G&-i=_y2CP*er^o8~wWr#@8D+B^5Y$KTqfDSFpzu4uum$Qs`
zkUMLJB8sQEl|=I>FowV7z-s<K-d3R3W=Iz|K!ipa*3a?#Ks2nRa`U{fHL)*DyyNzS
z#q1X9q6PyPYF=}<6$7eKgCubQeju*~*IAfMt{uXIf$edK=nne`3~T_2fFuxGgu!eS
zO%`8s1LCR0dg4{PwMAkzL+RuN%;j<v5!I#-a+iFQDLbww5N=R~(!|Z-mdE_Lp!gB(
zj4dtV7|(_iYso1A*hOWC5)Ir8LUA;0c}1x=lxG(HpksEhxO6(6?v(lyCYJ(jZ^5aE
zG}f?<go(|>Y@ysV<!z6s^~|cOUv#O5aU52I%qA-lf&I)$x}Gl4a$^Aw?%O=|HSLr>
zej${1DSyE+Ac47f;&YkSTgQYKnU)U`9=ydBc+OV-p>Q?|;VbJ;aSL?DIW)5>9w-Pw
zsTLg#v1U9=w5Bwy4Mg#qP;*)cQKqgs&6b2P35PrJEgLvoDF*2PWx>`NrS`EDXZp;3
z@$H5fwTacmXy$d8jvgp{o?@GZ_Avt>vp>g-!4<k)uy$c(g(G9kR-HeXq#sV8RaK1S
zY*@ut5G++OTrWbqf`G|ZWw(n05KGD?Jd<vpQ<@Ex4$ELHQpfG&F%>Bs2NlB=7S@La
z&XkdDm5cuXsX{bbX%4~+A#4!>GVgbP{FJkJ=3K1Y`5`RiYNKMPvRCXfgbka4(-zp_
z&B0Uc2~STGHv~-Q<F&ND$xQQ=5*6Jm{{X~6&EL>E{6;{#N3BH_dHR*0JSJMQfz|wx
zYxE;Jlg`P9=iH|RFiKh#s(@u~HcQhW2@1+0Txlstny{j=atuc*1g<5Cf21<Cm=zoX
zsyQE3c7>p-AJKu_nEBzX&}_uoe5FuvEX0g89=dp*T2RpiM;8P-Iba)eq{BYvL|B6h
zE6v8OvZ1eUfn$FTIn>F@X>pC(aLEc<8v@_B>T&fJVQZ-M&9fqTXBEO!+M{L5HuAMs
za4BU&g|#E1hJ!!S1eV)tEN_GircKJk1Sy$e0^o{LJq8rxO}R-$U#Kaj)l$U4<$^ld
zjBHEcrYOZtAKX_;8>vCHY9V=s1-%8rwBXdlivX($qZQ~k^k-ukiu#BKGGbHYt1VWs
zVcI0dmE3qd?p?q{tB57jmgRyxv!9s2y63jf%qc{sT}6TP)+m9Mw-AE~x2(W#&m?NK
z#3~nX8<;h_huUI~z!^uMf#&7H<qpcgrje@6O3JV<BSpDORjnbVzy>TOhuj&y$ylgv
zWa1?2{KDaJaZB$KxcO&ypZJ!ZVTl4QK;VckY~N2hAGT4Y36REP2vMv)WqMb?h$+MH
z74@?RF-qzsmS3%ot7>L{af^Tgwo?Kt&wa#Q)w#^Qha3?tFZh?^{>*xm62O&=wdKDU
zsa$6HWd%L}`>iDq^(0c@BRrQYaolyrDXpd3>T_dgWLxGLbm7d;E;zvx!wniP7jU>s
z13@kfRj}e&tTK{?na#&@PBfuS#FN9e<63gz@{4;rTq_`1#}eicm6~c00M$xLa+R5&
z=|KWug;h|Qp5;fksO_zkW@4-PKNiq{vjT~3#3PAESPjMHmX&h!mh-5U+Zh4DcT;Wh
zn8(P#8C586I`KO3t-z$uDVga=ZxKUba}Bwb7L_i;ny6kK$6hlIv3w>$S1rtjTo6@|
z&0{o^%sPz{tv2;ArdIA~bc`yKHA#S~BolE@xlx$MFtbt4C^HOEpO*-CG(;v}w14k7
zL&7aJ0*Uc<7>2@BJ+YRQ$geqpcXODP?N7M*Sr!K3)j{X69lFvQ;x!6-I+}wgG1%Ht
z_?8I0saba~Z45iQ{vEKCBc`YYB_{E}b34;BaM*9DTD)}_v%<kr^}{YBv3eaxrRh~S
zcoh~{+7a+dI!B323crh)kl(QL4FbKg+yy{4EJa{9D`Uq@xL4&K(1k8{Q<#R6^h1Qc
z8#qXk=Q&}nI8P~LQz%vD?@(C;OO0yWAi2rRzkLQ~*f{tita)IA?Sv1RU(J{v{uPj?
zg*F>pOvb}hK`Zpb9rFyUeh=;(?I9Pn2~kZ$a${slpwN!ufuxHul=Uo)brLUQINZTl
zNG{3XWdn$#F%0={#Inw1I4TY6xv**)`+>U)*4SI00n`Mhr!C4zo@1Iv)UZ2N6}DQ+
zvnO$Lq0%0$UaB2{+80$<G6Z%;s0|duFdLhX5v|f78}1U}PF&3fOGRGMU7=a<oJ`V*
zg2BU>G;ancJ(LpMy&8sn%=SRps2Ao@I4)~Zqz~l_pl(?Z&0)bPHp(=_E95}f_cI4^
z8)zb{_(lGSkIo|n6}8M`Q)nKc)CuBQVhkOS02$nfZerCd%t7maQKG5qc~Vy^+0e&L
zx#hSl`hx-bjpQHpf23x^{{Zeksr>lG_bYzl0j6x?P;G3s;|=i&k(s2oy38P#G7iF0
ztr<k)x%7o}ps-q(h~kYShUH-Ugj(F?uoA?G4q!S$qjMBF`XZFImqHqx<{?CL5`Wnx
zQRRb5Ut<u<ENjch#Tj}bYvxs--k6{cXdlEW8OxFn$W{_JZT!t+!Sccbx}eMiotXY#
z+^Vy9N9$jR^L0Ys+o?f|4=|v*+{W9m%br<6Y?BD9hDjBkG7<7a_<+{I6400pgc(BR
z$R@=yBP|<=t0!#8f|fy+nATymw+t&+QAg1Rd`XgtZ7QOAM3=%)sq`}x5bF76eCVz+
z{9@ss{1jHf^)dH7p)35-xd!X1>J5%Z1f*9+22XHS<O-Zmu%UL>xH6r#pzP)<$TVER
zElUL2Dr>oh-vxNMiVJz0F_z#qi(9B|TaNDxRpEf!ws2zQ*P;y8gwf3lGZ3!XhXA3U
z>JYo8C}nzr*K5-OVjnZPf5j<a`kQ)T8-9qxpXy^l?2W)`^E|KIT9kY;wkepYv%E$e
ztY><O7q~-TgGHNBOB!RAs~(^WO1Kb4lY_$;dWsFDM!5G2eglxifPJMHM;I7(&Gr=B
zHm_2YhY+=889?$E9fwhoUJPR6Z7Jnuy`83*Wm_?DjexfJls5NHrbA5^Er2HMm6wjL
zS$1KJMhpnOjXI65<b{&IsZL@6yrSc~aJY01C`9np(*vz2DfI=3d`5G^9+{6wLgh6r
zqU+S7d_}8>0}TJ#01N{G00IC50000GgYD}E1$gS21!ohXl(j-pKI&oWk@n!8tMi<c
z^hV1fg0OFWDv|*HPCTGBnLdsODG~5u8f&2X=DeyznnPXECECah0syjXX9U@NzMVOz
zP0*+qwrMzq{sf5L9z7oj1C}#3i}w}&Be0w5`xbl{f20ZrQj}jsQTBItA#Xi5jz}^Z
z;=!RPr&O79SMG{5em%@9w(YX0M;DNuCFbFSOTtc*hB2*}n!%Ja_>Wj|mT>rd0WDWy
zk&W`YMyMlwhj@;;R!<&EB%T^}SvoBnY)vqU;t$7S0>p~oNgIM#>CrHm_tMT1yZ-=q
z*Zij5{99(5`l|)ERKmc<N+$g*gkB%F$l|>s2QcQ5(0rp}Fa<DRg)n*O>SLD4x*#9|
zozNB!Aubz1+1}=CP{aBR)ZyLTc#=$)K&N(^l&8<dY(HRU6ooeHoyeD>^wNVv+J3Q`
zM6GEnt}rDZhr~Wr!EoYuJQeRs#Fc(rKQTd-yVWU}E1Q(C^ggw-c3`bb#i;eGsc}$=
z-TwfF=yEFFRl|-9ifGogS{N?cnv{C$6l1+lpb=o@#O!{_d}qs26xHN&<+F(Aj?$Sv
zp$gNsry0OS`7$;5{__wUrK;9o41RvY)ve3_!~i4_0RaI400II51Oov8000000RRyp
zF+mVfVR3<xu^_?lq5s+d2mu2D0Y4B)<%yB8{{R6`aDB<{JgGNgdZ&yo(!=ZL%)ftc
z2q^wBkfCJo$Via{wjYg%MC2FE_T}{_mG*oM1b{u$f4D>CK_4Ez{&(a@!0J*+a@#Wc
zl*;>sV%WO^YO;nr@=Q9+AH~GGBI`KoCGnX2vIcmHGzlR%af=rG4TivjEsohM6X=Of
zna@_d^4NP1XJO0pvF=_Z0_mnQBs`j10EW4A>;##^;#JtUJ7>4k{a9J@9{2w3+wljQ
zCVpcuV32Ym5I;+K<75$GkU^Uve#ki*Uua&~^6TIse8s}eV-wVEVylC)>^egqe-|Ff
zf0F1qC{E`i0{EK;r_@bM$v*!8TW~RB$Fy=lKrK>Tw_73{%*Hgaj|bJE84C+!-FaoN
z5oxA>AGAeUKT;hKSld5d{;WY3gv0JEgy#ti7)i)BMbcd(7~4X6{v{Se!DGH}^2>tD
zJB(ga1bVSNAK3o@e`o6{PoJ+3#UiXPUC_HW^4T6+tWVn5@e{-Z##V^RVjbJPX30GC
zjE_(1=nrWjrSZ$#qmrk?@qS2w@)@yCXxxfz!+p0<qsiQmiT8fE42EoJ`?H2DfV?|k
zq0cA%_w&!IgmQ6o?7(<El5YmY@_Dv*Ch!(UX=jOcN!?02nVzl^Ao1m{!;$K5XGEF@
z_i)M2KMS($nr)JNd6esH8|ZILgqszCo7s_HxXWPVeIt&@9kjf1V!6Ek0Cre-w!2?e
zpz}OVL!TWZt0`b!;Cv8aSlB<Aew=%bwr4I(o!Q)8?*VzJh9YyzAYKC2dEX=M$tu~w
z4=vX5@e*z$uGkiwpRdUnn%NF^+!DQIl`6R{25*ZU62fn!pvdD9Yz>@v!eN2|be;~=
zZ3x@G+Q?aq9rN;F?c+ReL+4q2PRAmKCoukC+4m7Q)x6<{=?sGQNzYeJzE^^Bz+V=R
zl{&^?y1X;u7<p(G1T&E15MPK;9<2%XvulV0ljn^rta)mE5FGtTncvI>^uJ?l)x*&a
zOa@!S(UmtdEz52AbXh+KnD}~sanspmZRHt1D3BBGy>eZ8d_f`eB*0`M!;XjbF)xk3
zev!~e1e-;)8*R3D%dz)lHaoriMC%6va8Z(ZvDIHQG-M$jWGx&ep}&h9bT4Fp=FD_?
zW#GJ?Y7h0vFx|3W;xUJtjN*6q^iOZkuhDP|JkROLJRbtK-q<o9ff|K&(Z)pQb6@<B
zS&P`cN`e08ll2dOUkQy9`I8?e!1wAho(J;Fy8S>Ovo3e=F8l!NY1qc_cGdDNk>I~U
zELwWKYRA-1f(bZ!g~5p-M*4s;J-kkfpR3kOp9SRnY|(r|N^AuBTRnBRy7fDLh~QZA
z2Y~#~&*1v_SwP=Te->AMH{kK`@?!78*DV@CB6V+8)gFstvQ3F!8);)UMlMN8+$;%w
zgsVEy;GGY4^C#zJ-PFWOJ`qA2YZEFS_D>Ra%f~<Av7qU~Q|5ASskG-?fjn3{-!CQL
zk1e)efZHxe9gr3AI{<q=El0U-f8y~&^#pj5{+7N)x3}!xnEm!h5}$@bFeltHbsrbW
z4o&~W03#6r0RaI30{{X70s{a50000101+V&F+ovbAaO9Uk-^db+5iXv0s#R(5W@jW
zJz68i+x$jg%PUJeCU{}D5$`|IEBQvx$XE}sQa;E>)w}*J%b0BhES8J~*P8zT)vzAr
z(`>Q}JU<Xy9yi9@ZLOY4PBP!L1tci_Z9fb{3pd5h+r9)?^^ah~b%ag+0$GF79~&|g
zoCE#b?<tdIlk(rYhOoJMvT(f;ESyKFaIsE%h37_j;5C%2?cK>T>t&r=fb}e!+e~u4
zv+O*vZ~3<c*`wnwsqg!nIm>*q4=vrEHuTH_<51?u0y`$l>4l}Hkc0Jnjfjh|J<h|D
zyBxUO=RYIdiS+pY0PGo`emKI!>?xCmMhh3zr7m1MBpzhs4&0*qn=Qn%1PpJvYAusC
ze47G8>Rx4;32%lM#6OD>7RZH2Up}Faxws^`v~S8IjEsu}{#s5ZG)y}L8Nx7f>1ef*
zBWEXFVgh44SV`(ga6ck#e-<7S8v+eH14~f*H%85knoq~>eCLw{@q;E94;k3V#O^(8
zmO1i#HsZ~TCC8UWzWf~q!@@kaG!SG73QU#T9F53}@`-?$!PuDp0A|?+VGDc{8~yr+
z^#j3s7GC*RY}{4W&WDMNdRTgc8~xG0y`7L3>_IVQny==}9kQJt4e10~7DuaO5NnW(
zy%Z!F^^3WIL?O62Dcc7p>G00kxT9d1_yq1A*ct|?5!na@@G{17)-~jn+wd8P-*NdP
zBqqTaKv+f*pIIiE{12u|9J0u6Cc5p}VN3+{mc=9RND_-JpDU4drS@6jBdShD3Ji~u
zf%=#b*<_#ze%ijTaBP4+<6aSW?=klY06F26k`z`mYx2>vW1Dopn+#W(YlyXM!0h_%
z&R*ES1JXTqHbyt1!08a+_zNYBIkD<q&shMaIO8OKnTc@qb?QKal(aHk6&u*MrZz!H
z*?u8&>eorSU3q&wgAWZ8V4!(o0tny|+hTE-gw70c6~*tj5&D>cyJs8ig3!*)RJ^iT
z$@X_}gk1DV73jXm^_KW;P9)ra;!||Actp7bTJV8^>%ol=+!4brawEq`zSwm4E(owT
z_qbUlr-YUtyGSj|$tn#4>~4_ieBoS6Lt&8h<RoS?-*%n=*fI%Nf%k)AYE<lcvv6nk
zGSb9Dkh1{K@Rp^W@C+c>b5a0n0{aDaY|b0MrGdw*8L)Qm6e2fXaFA&p1&N)pvLxT&
z4O?}v^qvc2QgEB?6M$i*!o$~M^#jAxj5u5BVbaSyXN<Z>48KwU+kO|lgM=QXpFFmj
zC<dcBKd~bNRt~4sA7sbIU;o4aCJ+Gt0s;a80{{a60|5X4000315g{=_QDJd`k)g4{
z(GcPB@c-HX2mt{A0Y4D4rjHZ*MutF711(cdTp<RQ*?rEdn8?K(zfnKppy&Pq#p)Z2
za{L5id7lR1gA`|R$PbXXF=wX?Lc*AU1ot}5azQGlNIPTPnYwaC%%JCfRPiph>&XtE
zWC|;el~_)g%nty%R-h)}CJSiT+KbP`tckmZ(|nQ0t3Ew19H`t##+XXi)(g`U<`jv-
ze|*aS0D~+$o3;)rR(u}kN5L-v5b`doh9M*XaYg3$oMWbQysBZT)!9UCFfiWN;+Inj
z-`p!P0>X<mFXnR*d`1X40WKa?c?3a9_|MomU*r6u5z(}|NAV7bp5?bLXwGASu3+Xd
z+_rXxpyp8S9eFMkq^0dJf?mespe@4J^8s5AoyuUI8Ae!GCtXG%lwFr?Mn#>=eHxXf
za%IPH>F~`c!uTnEA>v*u#?Rq>MtCh}jF|C%;hK)`!8B%Z!sLy6>r`;sP7-iE!r{cK
zoGD*fnL-zZ{7ZlzK#*LaoYt`er1c-dWNNl2wpw<6SRHQ{4+v9w%Nrg;+OWq#b1mu%
zSHum}yS*>Os)!woKEhU7<^m4gk+P`0MesguTUdO|SAT;qS~r%HP+o<=ujlH0KceBh
zMbblu{t|OJ9m5Cwj}URVGLg|kD4!5v0n&BTD1mOTiDtgyivpx)3M=7-Y9`c7<+y1h
zq=QRtb<9j5@`H{~`kiw}L)e_t3C{LJwF&Kr{hCv8%HbIPw%Din%x~&bE$ng!?9&70
zXu!Mi0-tF%AN84sYd;e!$P|%Be9G4q00zdes@wAtEVEtDm#^g?n=M_AOL~_tW~dM@
zDjOvq*cTV~h;h44DUK|)1U3)4l%~Db3}|hSVu?t#6wwm^yVys<j+V}I+|4lv0?o+V
zIXj73F9IV>NmNV(+W~+VnA;kH;~mNkf5DwXuCo6C#lgfC%oTMEC1x6d6}+jG)+@BF
zx5b1{0}j-O4sJ7I#Vs69&TGu2wq+K?>hgt_@~yTnJc*`XM}gA3ipj%<sf*(O00c0O
z_!;!~7l!g*g77)|VhP0N2}|N}Kn38(?&Eg9iEJpQEeHHyio6Wk?9t*2FN`ZqXeHqp
zLw7$qfFi~UTmeRYqL70B09wMICN&2YM?Z4xXfJS4DPYjv3X0YcqL8jH5dx_EMw_=z
zCF-DS*%<43Qorgh9vo7KXL7pbrtSxTd@_=s%1{?QM6lGnD8X}o6A^qwD%oR6dv0b;
zLe8d0i4Z9Rm55Up!|o$T<qzbJg+jBcFP58BU)Y;F^#WbyJ>mV0Pe?S9@m(2D(*FQ)
z<0B9UjftSg#$BzCxEQd%2=J0$>;u8#!2a>nSx4-<{FI=Ne6D^_{^573X~?#dN9q7m
zS{&NRb><;l+I1bsUDoeK^9!S|RrW)xvi2E;g1*&X#A$Yi_=v*uEB;|53#%!b2umCu
zqd`K-Ep?fJy>W52)ErE~Pmzl_E{q_CRZ^G=1tyWizf$~1Ee{tA`~*S)Kl#j8_y`D}
zgkTlK3k`aK6p*&_i0#gv_7J1yQD@q4{{UsgUbH?YWt>I7h*U*6cRWDE8Ze^)XNU_~
zzMr^JMH_GSeb5+zgNyq{p>dO9%XS-P>5{Hd)>}BVQ;O;CRg(=3%MPu0qVUVdME1N-
zCLp5yuSxyE)4YKI{#7bq+ISTzx)0nyVV7RL6Jc%mmRDXSX-nC^xRx{?>L!_|)Cy#o
z2L__Wq<IrD`h)i?$#BZ2!a7yOqkoZ889d4@<>9CiXONgt;J@V*klO{A0&S%J<J$qM
z0e+>Od2^!k)U^>p#vWz1$oiISx@S3rGRjJzfVJR_z%3sHQuSj|+6phB1Bvf5cbHo~
zYFPJ5H4m|vs27k<SNK3GxVKW6Y6zQyQ3bVu7M^(_AhC-_1FbQ2$p{7%&We0SA6q9i
z!#7wops6Z~p25^<xdLhv8r4f}tS$ph7u`U<wWfg3crZ&^t*+T@P^q-xOdpU_bjSu+
z0is)PFd7~>Owr6*LE|=)MVTek=93y##EW;NV5SiJh=>>LfnZpCR5zHFyTF8nhOt!5
z^m&Dxabzj|_Y^BU2+D0l*|cjryzvAWOD+!S#9_PQh|Om+J=;YKvt!nvQsKrVF}qO)
zObjAkSi3R)qvd|$F<&x*BPfi62h5;YOq3P+iYeBMp^oRS!S~#>;MJfde08NNH3BgN
zv4y75*EySDzDREaC$q%%@Tg%<SRI#b2Oi?>z)E4t?yCvh7OPMe09V|tSs!2<wpgQ&
zH$D4^ne9H7R1?0?02Ze1P<2kMu502V{$L=R&DLe00g?KYc0r!kD1)l4KrbK}nKPU(
z@e^WSB}#)NNVi0_IAMnY7Qk|_ZK-trY1~f@9BpHDh6~Fc;*Ax#5AuYNzy<4&m}`fr
zj}c<Ik1+92%LqYiU@6;|McNpB%PN~Zs}?ZL1yHrT5rBl`La{Xka#jgnm>R!u@N3(f
zhhGf_)~p!A6G*_<g875ir570Md_;xJ8GiVJvw2k4)H6+z=HZ+z&Snzk$pCx>l@O)^
zD`ivkg1-Eru-;7Haj0Zgpypmglv=)Ps>2r$l+1&13t#3DP%1Kwbl<6QPn1?^bJQE4
zGZ{!mtga?Yg58#IreOEm1zteld7+DS`?arRI?J7`2du&nfN{2r)k3_%=n~3RPZi+S
zqUQ-fki2U25jMwMv)>T4B8yVjFqWDv0pVjso;qvxFeBk}@hnCv-w*o^V8yf>K;rs*
zFvK(vFC;)p0fTKUF)@P4&W|jtImagUztj>`R^p<y3k_Q+acks>p2ud-w{nUL_Ewz5
zlsXF&-wZWT9Hrm;3V>pS_MQ2H7K0-)E-HhF7%F+mk?1oWWx9u12iEnOgS!rdP<YH5
zRaX{`eJFQe;)*KJ3lGG~358mqqyQ*lCq~dIE59=9qe(-tf}Khy8B2^JaCmVl$C)k`
z1-}=jaiZZw{{Z49^#wNbUpkH2C|ZE2by14nAY{LAX9sH~*>T2dSK~DRvO$6-U@EIr
zj(jx~mDeD;insxwjHP;_4NRsLw!&WOQ#9KX8jgn!nXFw^zo5xeDk%?Ed?4p_1GgA#
z1}bgg<pi=m_H+`F;=D&}vVf_e?g$as6<&OJmAqdIRUAV>3<cC7L5}4O67dYwN_57c
z2?I`G1E4JFas5XG67^Vvs8L8ljZe_?F9-)nHB&BXOV*xU5lLqiI1&dT!&O~DXov&~
zIQ1K(vtTu|oW>nsVMdlV&k(B;+(pHz3SGr_wz4HFgjU-XF$JQHkxK~cr2^OR^&Z(n
z0byK~x*WhkTb>SCWWv-G9Fsl1;HzT!j^|i;mqo=8`h^9}Lvn2>7UMS^x!%yAv4*Vb
z1Ug||&KCop`-%v%D_)D^sF}v=Z~KE{4Sb_1Yl>;o_>AODMZ8%l4TD?qUSbt`nw<>4
z$dr^j4lbcNY=cJ6_taCWiGG4&ZDw;NJ$%ZRY5`rO>iCt#*2F7KGQMTCtxPqUYXaKA
zF(8rwMPP$q0#s3m3q7UgXsh{cl@Em-Fwiuw1@!{MNV&D&shWZ@x|{z15EYN{G3|vM
zUN;Mo3pN~&K^hx~4HsxxVmTEGvu#|q>Q@8_!xH8yBaE;si9=Zmxyid>aK$ymdUr`^
zg{AWz12-5pMX_Y1>3|X_z;l57oEnaF!O63n8bWMIwkO=SD5~jvi5LF>DLFl%s3<Df
z4<=WuiI84gzMxvGNjLRT_Z#&oStAc9r7qclpfnZJC=(QuYQ%T)#}$<vVg#;334RAJ
z<i2e!Z+3?Y%EV!1W65ZJ#`v4G14+hCW-QPSk<0;8J?bWaUbD;00bq)NbBGq+$Q2uy
zOR6Q=AOSZGyj}@MsDP<+7kQ>OoxkX;#qI=E%ohctlyW{8;u&EBOaB0HVsun(ffP#B
zK$hGW1=R=Cvrk&fMdSUAl|Ttp*iHxRR!v=S%U?=H%OWpYW159C7<BvUF#%O8!79Q+
zJt_@1YK6eQk+>vO(~&1ec!oi-o9*=kl=woW?^eylgYpZSNoG*wn+`3Xq^p}xG7f{U
z5ko9!3*>ftfQ8b~%N5BA25{oCf~Veg5|M;3Db>LiRqB%ERMi3&Fdo=>S!s@^CZ-7d
zVUK`@&JP(zEY9lRkWyBD$v?SAg%=HEzApaaIH)Kw*@U6Apnzxvi;HFL(tyv$QsO>;
z^%0_S7<|{!&SXMYaR>qX5%P%ID{Bo^V8arheOaI=lq&I64RjlZ17<1n2Np|I12Zml
zUYPVnwO%Gpf|bb6IN~#zR~r#&Ei~7d5vsSp{>&fszar)4m4)PUbp~SKVk!xEiDSzM
zT}7oQ1GoHxpoF+(hOuQZX08dT@u3g)W2~{-@6@1GlFeLfC~)HWP63hxF@S?}_b-&4
zv3D==dJ{_A*DrV(R;7IZ0CT{|t8K{<M;pUmmR=P?%E|}=5vl>yOPi6W8h%G&1*sW;
zq>u+5U;z5cVnKXpo^4KcocfvCJMysW?Slp~$`*OVrG-pr{1Vdo7oIS%c5Vj#0!-GU
zS%{uSCGCTK%j^R*JMjn&XONU?u8g^5Hq(okJ~}&^Nk)Cl(HiumQOqt~OkF-AZlwif
zxyl+_4bkTjuK*A?CqV|3Cw830S&m6e^sIQi{zdOTI?IWCb26dx1rc{|oSqp=gJuV&
z8f^KM8ihoP)&P6CVv87Trkebgt}U1yA(>_j2)EA39q=19Z*kCe74rnJBD5~vA>}77
zE255BVfBFA)-&y|Zs0ohp4n3BSJoyFN=ST2tpjAw=%6M=2;g<E?iQ)lYh!_hhygTt
zU<7?w{Iid8<4~09)vx)1$kI!?vzeVlcPxmQ(kCocS`~;#Fd6}fq{)EzS>_3LU8g6~
z8k=wMC0n*~l~%B|Kz9Rb?JXa+2sC6sbc)B!EEO;`d^0wV>~ZE)97LAcR$SOG5H~gg
zHCyB?du6?}TRD4%#Zk9o_z}(6EoB8OmnHjwvuP9*#?&c|hOCrYHF(5qs47oZhsjKw
zVmlkY(7I`eCloo35b+aau#YuxQ2zi!5A`+LVZ8P;LB5(`K(Chsj??Os_XwSh0eROC
z9+>@B6PJrP%&&b23JqLZ-MKuo^9U8-A?bp7gc$_~X#j70Z<bmTP_77d27x;?L3CBX
zt4d-nD+UA64%8+e0X9HVk<G%gm_LzQBfGdu4oASiM%!-JFdK_LSztWz9H+aJaCfpS
zG1+5D4U*cITy@08MP$GNxxo*3)TCq}Vp&g^q_Ps^JupEVFfmeA48XRo(=Ba<(O`)T
z6hTj)Y|h%Saxn5z85-vYp*0c*VA7}XdfW_Bz`Rf}L(_P<Gq1=ilxe7{9noJiYy^rn
z!Rfe#gj$Tbyxcc%yci0wr`0AuW%X^pIOSv-f|AjBmeeOT6~SpNM>I!>P*drRfYyt*
zQ&W^#eMLkelEC6zpgTyei-7F60TSt^9o(;nwOURGEU7v?+2ltty=O&T^8__*tGdZ3
zv6i}WO2`BpPE*DR^$P(xv{J-?1Q7|<>K;OtQGp(66pAksIacowFbdmGFsZC3GiK(Y
z+Kp+B`PF44ZU!aJ;gSfbZ~A4W^58q*^|o2gflcckjn#1r!kTOkmvYMjy%2)H_i!<R
z$|yd2mg|v{g>l4mrGPmbjV)1oz(27QzdF6HhE`gGer0UnBUx2jDuDYU3NWC18U2dK
zKd@^8Ej=guEyehp2ASDVu->3iaKHl|B|Dj;OHzRZqv9D(%jyN`;%x<Lst8=oLcy3d
z{{RPZ)E@$Y)Y(f+R0UQ|uE<Rw11j|mC)?tiUWrpu1^{bIsBSeAD_VjQ@gJ1UUFeHL
zLCC-@i~((kvnCTLb43ZVH-|`2_+fQWq!^4l0-3P>Q@+S-Yt(xsnT6y;*qFWvOMa>a
zc}`lq#+}LS_2L9oy{Cpe%2u`;;t$G&oFWBb+!kwpdF7cDbQx;XlZjicstU(YAsZc3
zXbvjwHp6#vz<DZp@l*i~qTU@ut~eGtIV3z?CQaJe^D8c-3|a;ZgqBOSkH(p40xa@(
z2-&r+<<=cyU<;@$!M%<MEt^Y|Y|Ghb!j|@I$C-z5j9(G%Ym6)tSYWu_7Rx;K?jMDz
z8eqr-BO{pJDxtHsR~9ESpWj@~HB*k_z_Y`c__$}7lElU;VtJQ+EDN{Hms%VnE=6gZ
z8G09Rk_}|B?DGIxeH)M<8rn)$v_wFv+kq<1w-iBQTnj_*R}c3ryr1<ofi1-_p*fXh
zw?%3b!T{uDk7a|NqNEGXoF|4jRpMh$IgFrcC||I`8f^U-YT8XolVVYoWy{>iE`a+Z
zHt7fq?<yA<N`$7wN^gr^;!RaoIE8yg1>7nY;5p2o&JZs=eL;E1=$B@6V{;?7<WvUw
zh$@a9MSFs=ia2753L3e?Fabe)vcQdy1;JN!6y}TOG6ff9i5X2dS9#(snaUN1^9>ae
z)fL@LA&(1Khcd%g+%=q7IVH)w*zO4H+}NlEwlVZyG*Pjy`a?ySqP<@c-fk<!iVdUH
z5bpK~NRevQ(`0w+NIR)nf`D{fXLHu3)^+g|l4*r%*}!(fRwT*8*<6uXo<;yR=2oML
zNx_W&05toQ1Fbc<h)S`vc+6E)pje*XC4{XHOhGMqmyE?YJlwGAL@aL%Aysb;=xLV+
z=`o{ubU+3YmxYpvVypX?0M`ZDY3-(Lg9M}MH&B==AAVxfQDrpum;*r2sp##8lN2@l
z#g{@12)x9jVi;V(sz#|PBNVYid4~Yl%T<cB`4qxh5xLggGiTIQ;HM4VQ9mKmS)d%R
zCy4C?4Mn|#3b)|vOux#^U913Zg5U--fyVSKJ|!fP!+TqY%N}C@__QY?MzzWiS5^CS
z0PmSma^N0in(V#WQHW|LK>4_~Fz!WZ`7p_}-b^VgZ=5md;O1Ciz@4~QhdLYinR8Uk
zAbTJXE<noC$14;k@<Ytj8r>fR{enHM0@^qqu%t!IsX{&G8pL#xx8-4~&Bc&TPHW;J
zYYxBx1P?;5XY8#6Ijg8C2Z0G@sCkx30E!frG?8nCSs0*PES_WVVzg*|Kt~MUkVK#;
zs^E_umKI7BI7amIC;)d%KoeI(Fou#YEmd`j%z`)B<>3gB2H_K-&BUh3RSH>n>GO%O
z5|W)l5xSEtu8#b%nYp`_b9c_+Kk45`%M}vUp_t5AzEJ3Lfn6V4l;A6Fl83e{QdO76
zA%uWghSt0pm?02b6#Mqe6|;qeH0q{>XbfCP3yRM)WnBoU17b3pTdU%t8mFgXXTe&D
z)6~}7VU4b=U`!#ne;jP^+yzQ%#1;V3Er_uE5I_{*<r?ZJ<cBt=M^fVNqY5+*k!IG~
z3}_OE9-*3ws<49tn(+$I(|cD^>RY`;1XAOpG0a_-%1NgRvmNwwXwES7!Btf-)?t*D
z6|yjPC8{#@Gq?iViiV2|+;}|=autG$wy00SS}Y`6cL%B|U*E)fV_jAST4dlg3~<jt
z;jq08MhdVOGL~Q%uI^t%<OledpaxW{>oK)f3uhR_y6a;4ML;r)<r6D4Npnd*sBX}|
zxI*lv;{e^#1Wtk?l$vxae3|DFPi4>8hg6QUzJHlvI2(+tRf84k{17;+VbR1YDbC_s
zGSss4V3$XD3xuz&Vkvr72&m~vOH|ATJSGuWD=2I;jun7ZK&9uH<o6&KekBREk9Ez%
zbQVFOdI(p{%|;u4NX#(aFffeSU>bucJAY+ho&h4R!3~K3<#iG&;c~KC{{Xk*Q+0eA
z4iEr^!vWR4VOvYf4VN(13wXX|3j6|Wmd9y#D-Y~GT*c?2o(+&3H2qr1_bTv2EeKX#
z1D0jTl+v&`@evd`b%=bHa62W{3e`%1vH_wkX0TJxhT*RTr~M=Rp!*!aA3$=gW?&#0
zH*YHxJghwg#j_m3RlDH=Nsic}NI`lJ5xxKn!64G)BDRZ%0b!JxOvQ0A=T)UqP~r2;
zuvXFv(XjWJ#rA8la)BChL2z9$;w}dGqflbRroeR@0P#{97PYEH+(}7l2GB4UR{56E
zEs;}Yn@92tqg+nd&R2!*(jSusNPK0L`c(h{aHBHp2qBnaImf0`*^QSfjY0<=Smc5N
zQgTEr*@>NYZs#%ka~fM8JJXW$h)d$IJTM4~!CoBxMi*l;yN_>A=4_$t^O<2d59Cm1
z2J=ZQj(v*n9lyf@2xnMMPeBv?j5#r%1F3-j0B_OrFAs5p%qrlhEz=ARz2KRPa|^1H
z%`Vdj_4<ljo*LINti@8Qm|)hY@`+;TWr5n1ZGu})1ynpWwEdQ$PRL6g`!6KFL8^&l
zwS_JW`ezP2LS5AG%x|?}tfqQ_hl`sm3pjw}dRPU5>>>wfSZS@q?5#a5e#Q{qdyIwF
z62*C<T;j{-G_Jy_jFlWhG94sOj2Ge#6?Q>DTU^V@Xslho<Cr(_>j^8+{{YERs<7U(
zJkow5#vP9_Z>-Af44U^7ZVK?Iz;MxW@GK5hbuX~5i&F4=n?NAdzD}pViBM@?9XN~~
zO%=pSZDrhI0)ibU;yQf=%))RvFAu~x8?azD$63ROVrfI0a)uOh{j!@xSnl>fVJtRo
z94>$>%u7LL?3qfSfbl3PXtO}-Q4lVkV3nl)cxnSTBLxGhc&IZ;YXQUJ5f!S0Ir2j6
zhr%_oyfGAVO;luxxTr;dymL6QgZBRbUr}Khsm|Y=Mpn{m_9JS<Bvd{St9PcVU}d&u
zOrf<g-HYl0E)~)0Cexw-+HaCn^(-a}0;1qIoGM-}7_@C1Av_XrA6@)J0nQ0Ri#PuO
zP%W#g<{)52`9lwJw`Ji2bmaXq*;7zF8uiN)kT>9XJ|Ucg4Q=iPmG}vG<R!ULIE`KG
zO#;j-WlM$^fF&|-Q(34PW0m4n8e&0BugyN9+jMgsOc2wixQK;SRYe?@HSQ?PDi0CC
zXci;fXf6iAHOm~oJ(044BukP!Gij!`TbDF1$YLb7F~nbpI@EniIwf(bX=E$q#D0Jt
zXvqO!X=z+Xb#^i88U?G)1&=FGjBY#|Vo(laX`P@5$^;SIbeJ$$M&6ZlGed^5W2QT^
zGcMZGnx+p81Bl6JD^nYJf=Sf(6&$SaBPK}Ed=Fs^U1@$y!xm&Jl>qQ_?S|Nmj~O0U
zm`gXd0!X=iKxXq-7UDhXJ2pQ^z^%-*sDW`-uL}IckTQ@syS}S3u*y<SUHh8}kOtA*
z*nvk8Xgf^E>^3a%nMn%4fQ->sQn=44NcKE43<mAP);S!*E|o0rCvvO?A;w$z7|;Yn
z!;_i65`*msLy1<|%T{CjfGdN%USAcdg{T|0poAMM_b^rxw<~x*@s9;t1DYv|7IaK5
zH4W{urTs}KOLV7P2yjI#QxYsSWe+Y|;w3z#yh8H~0T~&EiW`_ogKn9BoJ}koRCLw6
zbn+d0oFEFfO=1o9DHfXH^Asx1Sf~M|UCquG_c%0XTf7lFLZCNQcX8k}X!9Ekn;zPV
zq7`va6WZv~WP36)!l{v+w)pCu!WKN5yJs~X#Da}{Fd+o2%AUxy5<E}3j9#0AhZQo5
zZA`RN8JPh{8@qwU#;M_!(at}>jIuG3%oaGSVK6remZli9pAawrTZqPL9w5?OB?scN
z1|m=>gOj)kixoLXYsm|0iCAc5sc0q+qc+7*?UWOnN3}%MFrk;CQ)P+UrQ_M2vCL~d
zS7KxqJq;drH9%p`nwALUc#q<DD5k<U2p*=6VorgRz1h?<qLX@szX|L&`4y@?IXM}3
zf{Z$RMBa2Ki0+DcL(^OCvcii77dvHxb(j}pus&vRQCODPKslNGZ{k&$hKloCqEs3-
zFdIDT9cyNrz>XzkmTx@F*kZb}kwB#?GxCXm-POyG(F<FA<IEg~Nb+vo9^f-g3<aY;
z<q)S!{k_Y@(@Bhke;^EsuuJ6jOq8~1sgzL#Q5cXS(R*Um`wg@146vfA;=mdyz-GzP
zwP}iB#IO|*-=qKnDcq~i#JtMZI0)0!usx(w`P3=p120vdFhr|fBLf#%8AgRiLpU1)
zSUG%tF~af@P1e6dOjRpG(!cF-xUdtG>Hh#`BLKxO48$r%Z+M6uH`|Yh=M1p>BPyb*
zz+#f^q+o<$V3y-(W-+LIT|dk#QBDs;tVx20F*#~7UlD);go8{2VPH7SaC}r|e^3^)
zP%7h#IsQCMce)YyI*G@1YR?I%tjJ<ic-(s;-W5Y-aC;$T2P;+8TOZ;8*lfCd#(s=E
z#nG{?O983qa4B_V%7Gmv9v<~9#4rNdt-<cvwoA%79+`+Bw6{-4;#fwuD#s`AN0yfj
z8GpDwDs8&D7k@hLBB+A^v^CA_tTzsaPDfn*#3Z_1`?68p3byG_`h$yygq-~NfQ>+z
z+$a#b78k3C!ey7d3?G6#C(LAo^8WxJ>O0C8c8A2F?<1*%G%^a3f@oIv#A`)B3TJi+
z?P$IkpUiuOVNMRc!yR4iF?bG>EDC`~q^VenO4eQp3J}n8Hoq|+z3yGhY72{XaRM%d
zSB@fKMXb#123YeQo=XOrmp8z8rlv34QFzpI0O@v!n?i~Q8XjL#j@ko$A^ou%SzIbn
zi>&o3C8AYe>v5cB6#%%BD2khx{{UE-1W`?uWd6X|3rPuD-Q$UQt%FBr{2GN<6IzGW
z%R_0IOD{<fUnZ~I8U>JYnf@VbQ1qDnc$KY(4={`<m$>UNuT_`jpi(6>dMUxXjyJ7K
z{VwrWiGUPC&vP&eL5mpapaDYO(|G1oHGh!m3Am?6E8<ZULY$PGOJ+fnNm2;wkJ%86
zSQsa$5R`d`(3Hh98gGoBQh_WB*fC1cUq<zAjMke#GaAO1C0WhUaD8<E*&7B-I4|La
z1*a8X*&bF#@D=$ul1{YcUo{e?jt*<gLd}aevr{jbu`e7$06|_v4a9FEX&|<^8F`ch
zloI<RI-+MKIE2*{4t>Jq23cMYYmc}?s)0aG7iTav7KVs`0QVQ+o?<6s6C9Pa3}R&=
zji`SI_X!Dbt6PCOY;v@7#x7j}pd1}mdF75pK~c4?@M3H?!n?U(=%3h!EwZy$906#!
z%RInj7*?sock%!-uTaWn%+vxDx5nlDoqIaq%BM9-%vi#XptQG>vNBaIhVaBJ(^Z;#
zuXX)P7z)FRZxW$JR>mP&=6mjGJYF7u`Gg87rL2(hwr;=4L8-nKpR(ZY)S&4!z*#9{
zIm{!CK(_LQtA0L6#bLBk(@cXsHQcauLc=9HjF#2b=D;Q4Vu1n*XfIIUtg_LLAeN>D
zfJzit-VZD+29%otuP_)UYoRI9qMlvCBh#c-k{XL`R?o_efaz^j#4STpX82p9QM21M
z6qUYI>QN!5Y{+Bf4_|DGtL_{E)-EDs(uLp85a1jT=fGMHP^}jp)50CcqMAFmkHa(7
zhEXkF3+_G!1&BF(%lk#7+TvoR0qlfG0Lx_KD9#MZt3g_Ch=$tTC02xk>L<4m1whYf
zW}8Z>e3wDGTu}8=@f%ieGQ)w%s*k;;HJ4G*#J~V${=}$;fNWWH8H$K^rZ)4E+U1ur
zI<@}*q|=miR(zQIA;P!A_CM5afc+nhOYSOONMR_<(ww@4x<_GqjTv6v<6w%r3f_2#
zbT$xq6_IR>$BstV8m6(JMWXy5frC=K7Fee3Jf>)zh_9z`WN}wu-e#7yXJaVkT6xuw
z<Y}>r8n7~K;DHdE$Wuq3Gbp9%Cn~y&tFEU7h?Y5k90yMm4408A+Ko}BZEP_>{{WKA
z2L%CB7*ht<rD{6^hS8x1CD{m~E2V0WshlWWY-PP!`LFy&y_~DLYq6?PEg)VXZE+lc
zJ1}1&>QJYk;6<%iXsWnaVqq&1^d{bUi?X0&c!sDp0<lu~*|Ax6ChMF^l~*}K#ozw`
zF$=V?_CM^aRi|zzmp2ImI$gmqpr-nP0amkIUZBv8LMZbY+Opp}{SnZG1xjLvH24!i
z1u{65r!keqco`Xsnp3FWCCFQ62VMzchH`&0>J6ShV(wv|!2_;b?7&$RZ+2=rB~DvI
za*2!z{{Z9My@+XSFMYqnF;^s0w=$b!GP+~TQ!Qb+P{X-cd_+Pgeqdmj1?75+`YA>0
z#lj&~IGxnd>Y)wF@>wb_mW}7`KI)aQ9G(&Uj7^D0aBjK+uweX`90Vw4cP*Ie3r_<+
z<JcfgJ&1A(vHir=ZKm&TpG148dU%x!VCT3;S%0D}4m5%nvzOU!m<oDrI=0WYStLOI
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

literal 0
HcmV?d00001

-- 
GitLab


From 29be7eefe9be7564255d6397af921a06b7ad9cb3 Mon Sep 17 00:00:00 2001
From: Lucas Schoenfelder <les17@inf.ufpr.br>
Date: Mon, 3 Feb 2020 18:57:09 -0300
Subject: [PATCH 04/29] revisitando modais de login e cadastro

---
 src/App.js                                    |   6 -
 src/Components/Checkbox.js                    |   3 +-
 src/Components/FormInput.js                   |  13 +-
 src/Components/Header.js                      |  24 +-
 src/Components/LoginContainer.js              | 217 +++++++++++-------
 src/Components/LoginModal.js                  |  35 ++-
 src/Components/MenuBar.js                     |   1 -
 src/Components/MenuList.js                    |  35 ++-
 .../PublicationPermissionsContent.js          |   2 +-
 src/Components/SignUpContainer.js             | 152 +++++++-----
 src/Components/SignUpModal.js                 |  20 +-
 src/Components/TabAtividades.js               |   0
 src/Components/TabPanelAtividades.js          |  52 +++++
 src/Pages/UserPage.js                         |   9 +-
 src/Store.js                                  |   6 +-
 src/img/logo_google.svg                       |   1 +
 16 files changed, 384 insertions(+), 192 deletions(-)
 delete mode 100644 src/Components/TabAtividades.js
 create mode 100644 src/Components/TabPanelAtividades.js
 create mode 100644 src/img/logo_google.svg

diff --git a/src/App.js b/src/App.js
index 96fcaca9..a02de521 100644
--- a/src/App.js
+++ b/src/App.js
@@ -73,16 +73,10 @@ export default function App(){
         <Route path="/busca" component={Search} />
         <Route path="/perfil-atualizacoes" component={UserPage} />
         <Route path="/recurso" component={ResourcePage}/>
-
         <Route path="/termos-publicar-recurso" component={TermsPage}/>
         <Route path="/permission" component={PublicationPermissionsPage}/>
-        {/*<Route path="termos-de-uso#publicacoes-de-usuario" component={}*/}
-
-
       	<Route path="/termos" component={UserTerms}/>
         <Route path="/teste" component={Teste}/>
-
-
       </Switch>
       <EcFooter/>
       <GNUAGPLfooter/>
diff --git a/src/Components/Checkbox.js b/src/Components/Checkbox.js
index 9e497b4c..d2d9b96e 100644
--- a/src/Components/Checkbox.js
+++ b/src/Components/Checkbox.js
@@ -36,10 +36,11 @@ export default function LabeledCheckbox(props) {
   return (
       <StyledFormControlLabel
         control={
-          <StyledCheckbox
+          <Checkbox
             disabled = {props.disabledCheckbox}
             value = {props.checked}
             onChange = {props.handleChange}
+            style = { { color : props.disabledCheckbox ? "#000" : "#00bcd4"}}
           />
         }
         label={<span style={{ fontSize: '12px' }}>{props.label}</span>}
diff --git a/src/Components/FormInput.js b/src/Components/FormInput.js
index 2a5a600c..e6bd1c68 100644
--- a/src/Components/FormInput.js
+++ b/src/Components/FormInput.js
@@ -21,12 +21,6 @@ import {makeStyles} from '@material-ui/styles';
 import styled from 'styled-components'
 import TextField from '@material-ui/core/TextField';
 
-const FormContainerStyled = styled.form`
-    display: flex;
-    flex-wrap : wrap;
-    padding : 2px;
-`
-
 const StyledTextField = styled(TextField)`
     max-width: 100%;
     font-size : 15px;
@@ -47,7 +41,7 @@ const useStyles = makeStyles(theme => ({
     maxWidth: '100%',
     fontSize : '15px',
     fontWeight : 'lighter',
-    color : 'inherit',
+    color : '#00bcd4',
     width : '100%',
   },
 }));
@@ -56,8 +50,6 @@ export default function FormInput(props) {
   const classes = useStyles();
 
   return (
-    <FormContainerStyled noValidate autoComplete="off">
-
         <StyledTextField
           id="standard-basic"
           label={props.placeholder}
@@ -68,9 +60,8 @@ export default function FormInput(props) {
           value = {props.value}
           onChange = {props.handleChange}
           InputProps={{className: classes.input}}
+          required = {props.required}
           style={{width:"100%"}}
         />
-
-    </FormContainerStyled>
   );
 }
diff --git a/src/Components/Header.js b/src/Components/Header.js
index 623b91e1..386a3e4a 100644
--- a/src/Components/Header.js
+++ b/src/Components/Header.js
@@ -25,16 +25,31 @@ import SignUpModal from './SignUpModal'
 import LoginModal from './LoginModal'
 import { Store } from '../Store';
 import ColaborarModal from './ColaborarModal.js'
-
+import Snackbar from '@material-ui/core/Snackbar';
+import MuiAlert from '@material-ui/lab/Alert';
 //const StyledButton = styled(Button)`
 //    background : #ffa54c !important;
 //    boxShadow :none;
 //`
 
+function Alert(props) {
+  return <MuiAlert elevation={6} variant="filled" {...props} />;
+}
+
+
 export default function Header(props){
   const { state, dispatch } = useContext(Store)
   const [signUpOpen, setSignUp] = useState(false)
   const [loginOpen, setLogin] = useState(false)
+  const [successfulLoginOpen, handleSuccessfulLogin] = useState(false)
+
+  const toggleSnackbar = (event, reason) => {
+      if (reason === 'clickaway') {
+          return;
+      }
+
+      handleSuccessfulLogin(false);
+  }
 
   const handleSignUp = () => {
       setSignUp(!signUpOpen)
@@ -54,12 +69,17 @@ export default function Header(props){
   return(
       <>
           <AcessibilityBar/>
+          <Snackbar open={successfulLoginOpen} autoHideDuration={1000} onClose={toggleSnackbar}
+          anchorOrigin = {{ vertical:'top', horizontal:'middle' }}
+          >
+              <Alert severity="success" style={{backgroundColor:"#00acc1"}}>Você está conectado(a)!</Alert>
+          </Snackbar>
           <MenuBar openSearchBar={handleClickSearch} openSignUp = {handleSignUp} openLogin = {handleLogin}/>
           {   state.searchOpen &&
               <SearchBar/>
           }
           <SignUpModal open={signUpOpen} handleClose={handleSignUp} openLogin={handleLogin}/>
-          <LoginModal open={loginOpen} handleClose={handleLogin} openSignUp={handleSignUp}/>
+          <LoginModal open={loginOpen} handleClose={handleLogin} openSignUp={handleSignUp} openSnackbar = {() => {handleSuccessfulLogin(true)}}/>
           {/*<ColaborarModal open={state.modalColaborarPlataformaOpen} handleClose={handleKyloren} />*/}
 
       </>
diff --git a/src/Components/LoginContainer.js b/src/Components/LoginContainer.js
index c148704c..8546fc4c 100644
--- a/src/Components/LoginContainer.js
+++ b/src/Components/LoginContainer.js
@@ -24,6 +24,7 @@ import styled from 'styled-components'
 import {device} from './device.js'
 import LabeledCheckbox from './Checkbox.js'
 import FormInput from "./FormInput.js"
+import GoogleLogo from "../img/logo_google.svg"
 
 //arrumar isso
 const responseGoogle = (response) => {
@@ -37,7 +38,7 @@ class LoginContainer extends Component {
         this.state = {
             email : "",
             senha : "",
-            checkboxChecked : true
+            checkboxChecked : false
         };
         this.handleChecked = this.handleChecked.bind(this)
     }
@@ -73,15 +74,16 @@ class LoginContainer extends Component {
         return (
             <ContainerStyled >
                 <DialogHeaderStyled>
+                    <span style={{width:"32px"}}/>
                     <H2Styled> Entrar
-                        <StyledCloseModalButton onClick={this.props.handleClose}>
-                        <CloseIcon/>
-                        </StyledCloseModalButton>
                     </H2Styled>
+                    <StyledCloseModalButton onClick={this.props.handleClose}>
+                    <CloseIcon/>
+                    </StyledCloseModalButton>
                 </DialogHeaderStyled>
 
-                <div style={{paddingTop: "20px"}}>
-                    <div style={{marginTop:"0"}}>
+                <DialogContentDiv>
+                    <SocialConnectDiv>
                         <StyledGoogleLoginButton
                             clientId="658977310896-knrl3gka66fldh83dao2rhgbblmd4un9.apps.googleusercontent.com"
 
@@ -89,50 +91,54 @@ class LoginContainer extends Component {
                             onFailure={responseGoogle}
                             cookiePolicy={'single_host_origin'}
                         >
-                            <span style={{textTransform:"none", fontSize:"13px"}}>Usando o Google</span>
+                        <span style={{textTransform:"none", fontSize:"13px", color : "#666"}}>Usando o Google</span>
                         </StyledGoogleLoginButton>
-                    </div>
-                </div>
-
-                <H3Styled>
-                    <RightSideStrikedH3/>
-                    <span style={{verticalAlign:"middle"}}>ou</span>
-                    <LeftSideStrikedH3/>
-                </H3Styled>
-
-                <form ref="form" onSubmit={this.onSubmit}>
-                    <FormInput
-                        inputType={"text"}
-                        name={"email"}
-                        value={this.state.email}
-                        placeholder={"E-mail *"}
-                        handleChange={e => this.handleChange(e)}
-                    />
-                    <br/>
-                    <FormInput
-                        inputType={"password"}
-                        name={"senha"}
-                        value={this.state.senha}
-                        placeholder={"Senha *"}
-                        handleChange={e => this.handleChange(e)}
-                    />
-                    <br/>
-
-                    <RememberRecover>
-                        <LabeledCheckbox label={<StyledSpan>Lembrar-me</StyledSpan>} onchange={this.handleChecked}/>
-                        <span style={{paddingTop:"15px"}}>Esqueceu a senha?<a href="recuperar-senha" style={{textAlign: "right", color:"#4cd0e1"}}>Clique aqui!</a></span>
-                    </RememberRecover>
-
-                    <ConfirmContainerStyled>
-                        <StyledLoginButton onClick={e => this.onSubmit(e)} variant="contained">
-                            <span style={{borderRadius:"3px", boxSizing:"border-box", fontFamily:"Roboto, sans serif", fontWeight:"500", color:"#fff"}}>ENTRAR</span>
-                        </StyledLoginButton>
-                    </ConfirmContainerStyled>
-                </form>
-
-                <DialogFooterStyled>
-                    <span style={{textAlign:"center", fontSize: "14px", color:"rgb(102, 102, 102)"}}>Ainda não tem cadastro? <StyledAnchor href="" onClick={e => this.switchModal(e)}>CADASTRE-SE</StyledAnchor></span>
-                </DialogFooterStyled>
+                    </SocialConnectDiv>
+
+                    <H3Div>
+                        <H3Styled>
+                            <RightSideStrikedH3/>
+                            <span style={{verticalAlign:"middle"}}>ou</span>
+                            <LeftSideStrikedH3/>
+                        </H3Styled>
+                    </H3Div>
+
+                    <form ref="form" onSubmit={this.onSubmit}>
+                        <FormInput
+                            inputType={"text"}
+                            name={"email"}
+                            value={this.state.email}
+                            placeholder={"E-mail"}
+                            handleChange={e => this.handleChange(e)}
+                            required={true}
+                        />
+                        <br/>
+                        <FormInput
+                            inputType={"password"}
+                            name={"senha"}
+                            value={this.state.senha}
+                            placeholder={"Senha"}
+                            handleChange={e => this.handleChange(e)}
+                            required={true}
+                        />
+                        <br/>
+
+                        <RememberRecover>
+                            <LabeledCheckbox label={<StyledLabel><StyledSpan>Lembrar-me</StyledSpan></StyledLabel>} onchange={this.handleChecked} disabledCheckbox={this.state.checkboxChecked}/>
+                            <UserForgotTheirPasswordSpan>Esqueceu a senha? <a href="recuperar-senha" style={{textAlign: "right", color:"#4cd0e1"}}>Clique aqui!</a></UserForgotTheirPasswordSpan>
+                        </RememberRecover>
+
+                        <ConfirmContainerStyled>
+                            <StyledLoginButton onClick={e => this.onSubmit(e)} variant="contained">
+                                <span style={{borderRadius:"3px", boxSizing:"border-box", fontFamily:"Roboto, sans serif", fontWeight:"500", color:"#fff"}}>ENTRAR</span>
+                            </StyledLoginButton>
+                        </ConfirmContainerStyled>
+                    </form>
+
+                    <DialogFooterStyled>
+                        <span style={{textAlign:"center", fontSize: "14px", color:"rgb(102, 102, 102)"}}>Ainda não tem cadastro? <StyledAnchor href="" onClick={e => this.switchModal(e)}>CADASTRE-SE</StyledAnchor></span>
+                    </DialogFooterStyled>
+                </DialogContentDiv>
             </ContainerStyled>
         )
     }
@@ -144,24 +150,68 @@ const ContainerStyled = styled.div`
     box-sizing : border-box;
     background-color : white;
     max-width : none;
+    display : flex;
+    flex-direction : column;
+    min-width : 440px;
+    min-height : 550px;
     align : center;
-    padding-left : 25px;
-    padding-right:25px;
-    padding-bottom:10px;
+    padding : 10px;
     border-radius: 4px;
+    line-height : 20px;
+    font-size : 14px;
     @media ${device.mobileM} {
         width : 100%;
         height : 100%;
     }
 `
 
-const DialogHeaderStyled = styled.div`
+export const DialogHeaderStyled = styled.div`
     text-align : center;
-    display : inline-flex;
+    display : flex;
+    flex-direction : row;
     justify-content : space-between;
     padding : 10px 26px 0 26px;
     height : 64px;
 `
+const H2Styled = styled.h2`
+    align-self : center;
+    color : #666;
+    font-size : 26px;
+    font-weight : 100;
+    font-family: 'Roboto', sans serif, 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
+    justify-content: space-between;
+    text-align: center;
+    letter-spacing: .005em;
+`
+
+export 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;
+`
+export const DialogContentDiv = styled.div`
+    padding : 20px 30px;
+    overflow : visible !important;
+`
+
+export const SocialConnectDiv = styled.div`
+    margin-top : 0;
+    display : flex;
+    flex-direction : row;
+`
+export const StyledGoogleLoginButton = styled(GoogleLogin)`
+    background-color : #fff !important;
+    color : #666 !important;
+    border : 1px solid rgb(66, 133, 244);
+    box-shadow: 0 0 0 1px #4285f4 !important;
+    :hover {
+        background-color: #f4f4f4 !important;
+    }
+`
 
 const DialogFooterStyled = styled.div`
     box-sizing : border-box;
@@ -174,17 +224,6 @@ const DialogFooterStyled = styled.div`
     line-height : 1.42857143
 `
 
-const H2Styled = styled.h2`
-    align-self : center;
-    color : #666;
-    font-size : 26px;
-    font-weight : 100;
-    font-family: 'Roboto', sans serif, 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
-    justify-content: space-between;
-    padding: 10px 26px 0 26px;
-    text-align: center;
-    letter-spacing: .005em;
-`
 
 const RightSideStrikedH3 = styled.div`
     display :  inline-block;
@@ -203,13 +242,10 @@ const LeftSideStrikedH3 = styled.div`
     margin-left : 5px;
     width : 45%;
 `
-const StyledGoogleLoginButton = styled(GoogleLogin)`
-    background-color: fff;
-    border : 1px solid rgb(66, 133, 244);
-    box-shadow: 0 0 0 1px #4285f4 !important;
-    :hover {
-        background-color: #f4f4f4 !important;
-    }
+
+export const H3Div = styled.div`
+    margin-top : 0;
+    margin-bottom : 10px;
 `
 
 const H3Styled = styled.h3`
@@ -224,24 +260,14 @@ const StyledAnchor = styled.a`
     color : #00bcd4;
     text-decoration : none;
 `
-const StyledCloseModalButton = styled(Button)`
-    display : inline-block;
-    position : relative;
-    float : right !important;
-    margin-right : -8px;
-    background : transparent;
-    min-width: 0 !important;
-    width : 40px;
-`
 const ConfirmContainerStyled = styled.div`
     display :  flex;
     margin-top : 10px;
     align-items : center;
     justify-content : center;
-    box-sizing : border-box;
 `
 const StyledLoginButton = styled(Button)`
-    background-color: #00bcd4 !important;
+    background-color : #00bcd4 !important;
     box-shadow : none !important;
     outline: none !important;
     border : 0 !important;
@@ -259,15 +285,32 @@ const StyledLoginButton = styled(Button)`
     }
 `
 
+
 const RememberRecover = styled.div`
     display : flex;
     justify-content : space-between;
     font-size: 12px;
     font-weight : 400;
-    margin-bottom: 16px;
 `
+
+const StyledLabel = styled.div`
+    box-sizing : border-box;
+    position : relative;
+    vertical-align : middle !important;
+    color : #666;
+
+`
+
+const UserForgotTheirPasswordSpan = styled.span`
+    margin-top : 1em;
+    font-size : 12px;
+    font-weight : 400;
+    text-align : right;
+    color : #666;
+`
+
 const StyledSpan = styled.span`
-    font-size: 12px;
-    font-weight: 400;
-    padding-top: 2px;
+    font-size : 12px;
+    font-weight : 400;
+    padding-top : 2px;
 `
diff --git a/src/Components/LoginModal.js b/src/Components/LoginModal.js
index 17540183..65ff4e34 100644
--- a/src/Components/LoginModal.js
+++ b/src/Components/LoginModal.js
@@ -16,7 +16,7 @@ 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 React, {useContext, useState} from 'react';
 import { Button } from '@material-ui/core';
 import Modal from '@material-ui/core/Modal';
 import Backdrop from '@material-ui/core/Backdrop';
@@ -26,6 +26,8 @@ import LoginContainer from './LoginContainer'
 import {Store} from '../Store.js'
 import axios from 'axios'
 import {apiUrl} from '../env';
+import Snackbar from '@material-ui/core/Snackbar';
+import MuiAlert from '@material-ui/lab/Alert';
 
 const StyledLogin = styled(Modal)`
     margin : 0 !important;
@@ -38,9 +40,21 @@ const StyledLogin = styled(Modal)`
     border-radius : 4px;
 
 `
+function Alert(props) {
+  return <MuiAlert elevation={6} variant="filled" {...props} />;
+}
 
 export default function LoginModal (props){
   const {state, dispatch} = useContext(Store)
+    const [snackbarOpened, handleSnackbar] = useState(false)
+
+    const handleCloseSnackbar = (event, reason) => {
+        if (reason === 'clickaway') {
+            return;
+        }
+
+        handleSnackbar(false);
+    }
 
     const handleLoginInfo = (login) => {
         axios.post(`${apiUrl}/auth/sign_in`,
@@ -53,22 +67,32 @@ export default function LoginModal (props){
                 type: "USER_LOGGED_IN",
                 userLoggedIn: !state.userIsLoggedIn,
                 login: {
-                    username : login.username,
-                    email : login.email,
+                    id : response.data.id,
+                    username : response.data.name,
+                    email : response.data.email,
                     accessToken : response.headers['access-token'],
-                    client : response.headers.client
+                    clientToken : response.headers.client,
+                    userAvatar : response.data.avatar_file_name,
+                    userCover : response.data.cover_file_name
                     }
                 }
             )
             props.handleClose();
+            props.openSnackbar();
             }, (error) => {
-                console.log(':()')
+                {handleSnackbar(true)}
             }
         )
     }
 
 
     return (
+        <>
+        <Snackbar open={snackbarOpened} autoHideDuration={1000} onClose={handleCloseSnackbar}
+        anchorOrigin = {{ vertical:'top', horizontal:'right' }}
+        >
+            <Alert severity="error">Ocorreu um erro ao se conectar!</Alert>
+        </Snackbar>
         <StyledLogin
             aria-labelledby="transition-modal-title"
             aria-describedby="transition-modal-description"
@@ -89,5 +113,6 @@ export default function LoginModal (props){
                 />
             </Zoom>
         </StyledLogin>
+        </>
     )
 }
diff --git a/src/Components/MenuBar.js b/src/Components/MenuBar.js
index 75550ecf..17b4d9e2 100644
--- a/src/Components/MenuBar.js
+++ b/src/Components/MenuBar.js
@@ -113,7 +113,6 @@ export default function MenuBar(props){
       { name: "Coleções", href: "/perfil/colecoes"},
       { name: "Rede", href: "/perfil/rede"},
       { name: "Configurações", href: "/perfil/cofiguracoes/editarperfil"},
-      { name: "Sair", href:"/"}
   ]
 
   return(
diff --git a/src/Components/MenuList.js b/src/Components/MenuList.js
index ee25a683..1268edb7 100644
--- a/src/Components/MenuList.js
+++ b/src/Components/MenuList.js
@@ -78,7 +78,7 @@ export default function MenuList(props) {
 
       >
         {
-            state.currentUser.userAvatar === '' ?
+            state.currentUser.userAvatar == '' || state.currentUser.userAvatar == null ?
             (
 
                 <img src={Profile} alt={''} style={{maxWidth:"50px", maxHeight:"50px", borderRadius:"25px"}}/>
@@ -110,7 +110,7 @@ export default function MenuList(props) {
             <Link key={item.name} to={item.href} style={{textDecoration:"none"}} ><MenuItem style= {{fontSize:"14px", padding:"5px 20px", color:"#666"}}>{item.name}</MenuItem></Link>
           )
         }
-        <Button onClick={handleLogout} style={{layout:"row", layoutAlign:"space-between-center"}}> <MenuItem>Sair<ExitToAppIcon style={{align:"right"}}/></MenuItem></Button>
+        <StyledButtonSair onClick={handleLogout}> <StyledMenuItem disableGutters={true}>Sair<StyledExitToAppIcon/></StyledMenuItem></StyledButtonSair>
 
 
       </Menu>
@@ -118,6 +118,37 @@ export default function MenuList(props) {
   );
 }
 
+const StyledButtonSair = styled(Button)`
+    height : 31px;
+    width : 177px;
+    layout : row;
+
+    .listItem {
+        width : 100% !important;
+        display : flex !important;
+        justify-content: space-between !important;
+        font-size : 14px !important;
+        color : #a5a5a5 !important;
+        padding : 5px 20px !important;
+    }
+`
+
+const StyledExitToAppIcon = styled(ExitToAppIcon) `
+    fontSize : 24px;
+    color : rgb(162,165,165);
+    align : right;
+    display : flex;
+    justify-content : flex-end;
+`
+const StyledMenuItem = styled(MenuItem)`
+    display : flex;
+    justify-content: space-between;
+    width : 100%;
+    font-size : 14px;
+    color : #a5a5a5;
+    padding : 5px 20px;
+`
+
 //import React from 'react';
 //import Button from '@material-ui/core/Button';
 //import ClickAwayListener from '@material-ui/core/ClickAwayListener';
diff --git a/src/Components/PublicationPermissionsContent.js b/src/Components/PublicationPermissionsContent.js
index c40d49d7..3b62deef 100644
--- a/src/Components/PublicationPermissionsContent.js
+++ b/src/Components/PublicationPermissionsContent.js
@@ -31,7 +31,7 @@ export default function PublicationPermissionsContent (props) {
                     <p>Ao prosseguir você concede a permissão de publicação do seu recurso ao nosso portal e se compromete a não infringir as políticas de conteúdos, estando então,
                     a partir desse momento passível de responsabilização pelo conteúdo a ser integrado a nossa rede. Para tanto atente-se as pontuações abaixo e verifique se o seu
                     recurso está de acordo, antecipadamente, com as nossas condições. É recomendável a leitura das políticas de conteúdo estabelecidas
-                    (<a href="termos-de-uso#publicacoes-de-usuario"><strong>Políticas de Conteúdo</strong></a>)
+                    (<a href="/termos" style={{color:"initial"}}><strong>Políticas de Conteúdo</strong></a>)
                     </p>
                     <Typography variant="h5" style={{fontWeight:"300", color:"rgb(102, 102, 102)", fontSize:"22px"}}>
                     Para que o recurso seja publicado na plataforma é preciso que ele esteja de acordo com as diretrizes abaixo, a presença de quaisquer dos itens a seguir
diff --git a/src/Components/SignUpContainer.js b/src/Components/SignUpContainer.js
index f87f002e..c41f3655 100644
--- a/src/Components/SignUpContainer.js
+++ b/src/Components/SignUpContainer.js
@@ -24,7 +24,7 @@ import CloseIcon from '@material-ui/icons/Close';
 import styled from 'styled-components'
 import {device} from './device.js'
 import FormInput from "./FormInput.js"
-
+import {StyledCloseModalButton, DialogContentDiv, DialogHeaderStyled, SocialConnectDiv, StyledGoogleLoginButton, H3Div} from './LoginContainer.js'
 const responseGoogle = (response) => {
   console.log(response);
 }
@@ -40,14 +40,36 @@ var callback = function () {
   console.log('Done!!!!');
 };
 
+function validateUserInfo (name, email, password) {
+    const errors = []
+
+    if(name.lenght === 0 ) {
+        errors.push({name : "name", msg : "Faltou preencher seu nome completo."})
+    }
+    if(email.length === 0) {
+        errors.push({name : "email", msg : "Faltou preencher seu e-mail."})
+    }
+    else if ( (email.split("").filter(x => x === "@").length !== 1) || (email.indexOf(".") === -1) ){
+        errors.push({name : "email", msg : "Insira um endereço de email válido."})
+        errors.push({name : "email", msg : "Por exemplo: seunome@gmail.com, seunome@hotmail.com"})
+    }
+    if(password.length === 0) {
+        errors.push({ name : "password", msg : "Faltou definir uma senha."})
+    }
+
+    return errors
+}
+
 class SignUpContainer extends Component {
     constructor (props) {
         super(props);
 
         this.state = {
-            nomeCompleto: "",
+            name: "",
             email: "",
-            senha: ""
+            password: "",
+
+            errors : []
         };
     };
 
@@ -59,80 +81,97 @@ class SignUpContainer extends Component {
 
     handleChange = e => {
         this.setState({[e.target.name]: e.target.value})
+
     };
 
     onSubmit = (e) => {
         //on submit we should prevent the page from refreshing
         e.preventDefault(); //though this is arguable
-
-        //pass user info to Store.js and clear all text fields
-        this.props.handleLoginInfo(this.state)
-        this.setState({
-            nomeCompleto: "",
-            email: "",
-            senha: ""
-        })
+        const { name, email, password } = this.state;
+        const errors = validateUserInfo(name, email, password)
+        console.log(this.state)
+        if ( errors.length < 0) {
+            //pass user info to Store.js and clear all text fields
+            this.props.handleLoginInfo(this.state)
+            this.setState({
+                name: "",
+                email: "",
+                password: ""
+            })
+        }
+        else {
+            this.setState({errors})
+        }
 
     }
 
     render () {
+        const { errors } = this.state;
         return (
             <ContainerStyled >
                 <DialogHeaderStyled>
+                    <span style={{width:"32px"}}/>
                     <H2Styled> Cadastrar-se
-                        <StyledCloseModalButton onClick={this.props.handleClose} >
-                            <CloseIcon />
-                        </StyledCloseModalButton>
                     </H2Styled>
+                    <StyledCloseModalButton onClick={this.props.handleClose} >
+                        <CloseIcon />
+                    </StyledCloseModalButton>
                 </DialogHeaderStyled>
 
-                <div style={{paddingTop: "20px"}}>
-                    <div style={{marginTop:"0"}}>
+                <DialogContentDiv>
+                    <SocialConnectDiv>
                         <StyledGoogleLoginButton
                             clientId="658977310896-knrl3gka66fldh83dao2rhgbblmd4un9.apps.googleusercontent.com"
-
                             onSuccess={responseGoogle}
                             onFailure={responseGoogle}
                             cookiePolicy={'single_host_origin'}
                         >
                             <span style={{textTransform:"none", fontSize:"13px"}}>Usando o Google</span>
                         </StyledGoogleLoginButton>
-                    </div>
-                </div>
+                    </SocialConnectDiv>
 
-                <H3Styled>
-                    <RightSideStrikedH3/>
-                    <span style={{verticalAlign:"middle"}}>ou</span>
-                    <LeftSideStrikedH3/>
-                </H3Styled>
+                <H3Div>
+                    <H3Styled>
+                        <RightSideStrikedH3/>
+                        <span style={{verticalAlign:"middle"}}>ou</span>
+                        <LeftSideStrikedH3/>
+                    </H3Styled>
+                </H3Div>
 
                 <form ref="form" onSubmit={this.onSubmit}>
+                {errors.map(error => (
+                    <p key={error.name}>Error: {error.msg}</p>
+                ))}
                     <FormInput
                         inputType={"text"}
-                        name={"nomeCompleto"}
-                        value={this.state.nomeCompleto}
-                        placeholder={"Nome Completo *"}
+                        name={"name"}
+                        value={this.state.name}
+                        placeholder={"Nome Completo"}
                         handleChange={e => this.handleChange(e)}
+                        required={true}
                     />
                     <br/>
                     <FormInput
                         inputType={"text"}
                         name={"email"}
                         value={this.state.email}
-                        placeholder={"E-mail *"}
+                        placeholder={"E-mail"}
                         handleChange={e => this.handleChange(e)}
+                        required={true}
                         />
                     <br/>
                     <FormInput
                         inputType={"password"}
-                        name={"senha"}
-                        value={this.state.senha}
-                        placeholder={"Senha *"}
+                        name={"password"}
+                        value={this.state.password}
+                        placeholder={"Senha"}
                         handleChange={e => this.handleChange(e)}
+                        required={true}
                         />
                     <br/>
-                    <StyledRecaptcha
+                    <Recaptcha
                         sitekey="6LcyFr8UAAAAAOd0Po6rmZC1D_nYik8nLCAkNKsc"
+                        size="normal"
                         render="explicit"
                         onloadCallback={callback}
                     />
@@ -156,6 +195,7 @@ class SignUpContainer extends Component {
                 <DialogFooterStyled>
                     <span style={{textAlign:"center", fontSize: "14px"}}>Já possui cadastro? <StyledAnchor href="" onClick={e => this.switchModal(e)}>ENTRAR</StyledAnchor></span>
                 </DialogFooterStyled>
+                </DialogContentDiv>
             </ContainerStyled>
         )
     }
@@ -168,24 +208,19 @@ const ContainerStyled = styled.div`
     background-color : white;
     max-width : none;
     align : center;
-    padding-left : 25px;
-    padding-right:25px;
-    padding-bottom:10px;
-    border-radius: 4px;
+    display : flex;
+    flex-direction : column;
+    min-width : 450px;
+    min-height : 690px;
+    max-height : none;
+    position : relative;
+    padding : 10px;
     @media ${device.mobileM} {
         width : 100%;
         height : 100%;
     }
 `
 
-const DialogHeaderStyled = styled.div`
-    text-align : center;
-    display : inline-flex;
-    justify-content : space-between;
-    padding : 10px 26px 0 26px;
-    height : 64px;
-`
-
 const DialogFooterStyled = styled.div`
     box-sizing : border-box;
     font-family : 'Roboto', sans serif;
@@ -197,15 +232,6 @@ const DialogFooterStyled = styled.div`
     line-height : 1.42857143
 `
 
-const StyledGoogleLoginButton = styled(GoogleLogin)`
-    background-color: fff;
-    border : 1px solid rgb(66, 133, 244);
-    box-shadow: 0 0 0 1px #4285f4 !important;
-    :hover {
-        background-color: #f4f4f4 !important;
-    }
-`
-
 const TermosDeUsoStyled = styled.div`
     font-family: 'Roboto', sans serif, 'Helvetica Neue', Helvetica, Arial, sans-serif;
     color : #666;
@@ -223,7 +249,6 @@ const H2Styled = styled.h2`
     font-weight : lighter;
     justify-content: space-between;
     font-family: 'Roboto', sans serif, 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
-    padding: 10px 26px 0 26px;
     text-align: center;
     letter-spacing: .005em;
 `
@@ -257,15 +282,15 @@ const StyledAnchor = styled.a`
     color : #00bcd4;
     text-decoration : none;
 `
-const StyledCloseModalButton = styled(Button)`
-    display : inline-block;
-    position : relative;
-    float : right !important;
-    margin-right : -8px;
-    background : transparent;
-    min-width: 0 !important;
-    width : 40px;
-`
+//const StyledCloseModalButton = styled(Button)`
+//    display : inline-block;
+//    position : relative;
+//    float : right !important;
+//    margin-right : -8px;
+//    background : transparent;
+//    min-width: 0 !important;
+//    width : 40px;
+//`
 
 const ConfirmContainerStyled = styled.div`
     display :  flex;
@@ -273,6 +298,7 @@ const ConfirmContainerStyled = styled.div`
     align-items : center;
     justify-content : center;
     box-sizing : border-box;
+    font-size : 13px;
 `
 
 const StyledSignUpButton = styled(Button)`
diff --git a/src/Components/SignUpModal.js b/src/Components/SignUpModal.js
index 5300aab6..8a9ffb20 100644
--- a/src/Components/SignUpModal.js
+++ b/src/Components/SignUpModal.js
@@ -63,26 +63,32 @@ export default function SignUpModal (props) {
     const { state, dispatch } = useContext(Store)
 
     const handleLoginInfo = (newLogin) => {
-
+        console.log(state.currentUser)
         axios.post(`${apiUrl}/auth`,
             {
-            name : newLogin.nomeCompleto,
+            name : newLogin.name,
             email: newLogin.email,
-            password : newLogin.senha,
-            password_confirmation : newLogin.senha
+            password : newLogin.password,
+            password_confirmation : newLogin.senha,
+            terms_of_service:true,
+            avatar: ""
         }
         ).then( (response) => {
             dispatch ( {
                 type: 'USER_SIGNED_UP',
                 userLoggedIn: !state.userIsLoggedIn,
                 login: {
-                    username : newLogin.username,
-                    email : newLogin.email,
+                    id : response.data.id,
+                    username : response.data.name,
+                    email : response.data.email,
                     accessToken : response.headers['access-token'],
-                    client : response.headers.client
+                    clientToken : response.headers.client,
+                    userAvatar : response.data.avatar_file_name,
+                    userCover : response.data.cover_file_name
                     }
                 }
             )
+            console.log(state.currentUser)
             props.handleClose()
             }, (error) => {
                 console.log(':(')
diff --git a/src/Components/TabAtividades.js b/src/Components/TabAtividades.js
deleted file mode 100644
index e69de29b..00000000
diff --git a/src/Components/TabPanelAtividades.js b/src/Components/TabPanelAtividades.js
new file mode 100644
index 00000000..24fa2b0c
--- /dev/null
+++ b/src/Components/TabPanelAtividades.js
@@ -0,0 +1,52 @@
+import React, {useContext} from 'react'
+import styled from 'styled-components'
+import { Container } from 'react-grid-system'
+
+const MainContentContainer = styled(Container)`
+    background-color : #f4f4f4;
+    color : #666;
+    padding-bottom : 30px;
+`
+const DivNoPad = styled.div`
+    margin-bottom : 0;
+    padding-bottom : 0;
+`
+
+const ColMDNoPad = styled.div`
+    padding : 0;
+    width : 100%;
+    float : left;
+`
+
+const TituloDiv = styled.div`
+    font-size : 14px;
+    font-weight : 500;
+    letter-spacing : .01em;
+    line-height : 1.2em;
+`
+
+const SubHeader = styled.div`
+    padding-top : 16px;
+    background-color : #fff;
+    padding-bottom : 0;
+`
+
+export default function TabPanelAtividades (props) {
+    return (
+
+        <MainContentContainer>
+            <DivNoPad>
+                <ColMDNoPad>
+                    <TituloDiv>
+                        <SubHeader>
+                            <div style={{display:"block", zIndex:"1", position:"relative"}}>
+                                <p style={{marginBottom:"40px"}}>Todas Notificações</p>
+                            </div>
+                        </SubHeader>
+                    </TituloDiv>
+                </ColMDNoPad>
+            </DivNoPad>
+        </MainContentContainer>
+
+    )
+}
diff --git a/src/Pages/UserPage.js b/src/Pages/UserPage.js
index f30f99e9..0b7ab047 100644
--- a/src/Pages/UserPage.js
+++ b/src/Pages/UserPage.js
@@ -31,10 +31,10 @@ import EditIcon from '@material-ui/icons/Edit';
 import CheckDecagram from '../img/check-decagram-gray.svg'
 import Tabs from '@material-ui/core/Tabs';
 import Tab from '@material-ui/core/Tab';
+import TabPanelAtividades from '../Components/TabPanelAtividades.js'
 
 export default function UserPage (props){
     const {state, dispatch} = useContext(Store)
-    const coverImg = ''
     const [hoverAlterarFoto, handleAlterarFoto] = React.useState(false)
     const [value, setValue] = useState(0);
 
@@ -77,10 +77,10 @@ export default function UserPage (props){
                                 <ContainerUserProfile>
                                     <HeaderContainer>
                                         <CoverContainer>
-                                            {coverImg == "" && <span>cover art</span>}
+                                            <img src={state.currentUser.userCover} alt = "user cover avatar" style= {{width:"100%", height:"100%", objectFit : "cover" }}/>
                                             <input accept="image/*" style = {{display:"none"}} id="icon-button-file" type="file" />
                                             <label htmlFor="icon-button-file">
-                                                <Tooltip title={<span style={{fontSize:"14px", overflow:"hidden"}}>ALTERAR CAPA</span>} placement="left">
+                                                <Tooltip title={<span style={{fontSize:"14px", overflow:"hidden", transition:"all .5s ease"}}>ALTERAR CAPA</span>} placement="left">
                                                     <IconButton style={{position:"absolute",right:"0",top:"0",color:"#fff"}}color="primary" aria-label="upload picture" component="span">
                                                         <PhotoCamera />
                                                     </IconButton>
@@ -88,7 +88,7 @@ export default function UserPage (props){
                                             </label>
                                         </CoverContainer>
                                         <ProfileAvatarDiv onMouseEnter={handleHoverAlterarFoto} onMouseLeave={handleHoverAlterarFoto}>
-                                            <img src={state.currentUser.userAvatar}/>
+                                            <img src={state.currentUser.userAvatar} alt = "user avatar" style={{border:"0", verticalAlign:"middle"}}/>
                                             <ChangeAvatarDiv  style={ {display : hoverAlterarFoto ? 'flex' : 'none'}}>
                                                 <span>Alterar Foto</span>
                                             </ChangeAvatarDiv>
@@ -155,6 +155,7 @@ export default function UserPage (props){
                                 </ContainerUserProfile>
                             </MainContainerDesktop>
                             </div>
+                            <TabPanelAtividades value={value} index = {0}/>
                         </HeaderDiv>
                     </React.Fragment>
                 ]
diff --git a/src/Store.js b/src/Store.js
index eaacb6bb..6c19780f 100644
--- a/src/Store.js
+++ b/src/Store.js
@@ -35,13 +35,15 @@ const initialState = {
     height: 0
 },
   currentUser: {
+      id : '',
       username : 'Horstmann',
       email : '',
       accessToken : '',
-      client : '',
+      clientToken : '',
       education : '',
       isCollaborativeTeacher : false,
-      userAvatar : ''
+      userAvatar : '',
+      userCover : ''
   }
 }
 
diff --git a/src/img/logo_google.svg b/src/img/logo_google.svg
new file mode 100644
index 00000000..a939ddc1
--- /dev/null
+++ b/src/img/logo_google.svg
@@ -0,0 +1 @@
+<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18"><defs><style>.cls-1{fill:#4285f4;}.cls-2{fill:#34a853;}.cls-3{fill:#fbbc05;}.cls-4{fill:#ea4335;}.cls-5{fill:none;}</style></defs><title>btn_google_dark_normal_ios</title><g id="Google-Button"><g id="btn_google_dark_normal" data-name="btn google dark normal"><g id="logo_googleg_48dp" data-name="logo googleg 48dp"><path id="Shape" class="cls-1" d="M18.64,10.2a10.341,10.341,0,0,0-.164-1.841H10v3.481h4.844a4.14,4.14,0,0,1-1.8,2.716V16.82h2.909A8.777,8.777,0,0,0,18.64,10.2h0Z" transform="translate(-1 -1)"/><path id="Shape-2" data-name="Shape" class="cls-2" d="M10,19a8.592,8.592,0,0,0,5.956-2.18l-2.909-2.258A5.43,5.43,0,0,1,4.964,11.71H1.957v2.332A9,9,0,0,0,10,19h0Z" transform="translate(-1 -1)"/><path id="Shape-3" data-name="Shape" class="cls-3" d="M4.964,11.71a5.321,5.321,0,0,1,0-3.42V5.958H1.957a9.011,9.011,0,0,0,0,8.084L4.964,11.71h0Z" transform="translate(-1 -1)"/><path id="Shape-4" data-name="Shape" class="cls-4" d="M10,4.58a4.862,4.862,0,0,1,3.44,1.346l2.581-2.581A8.649,8.649,0,0,0,10,1,9,9,0,0,0,1.957,5.958L4.964,8.29A5.364,5.364,0,0,1,10,4.58h0Z" transform="translate(-1 -1)"/><path id="Shape-5" data-name="Shape" class="cls-5" d="M1,1H19V19H1V1Z" transform="translate(-1 -1)"/></g></g></g></svg>
\ No newline at end of file
-- 
GitLab


From 5ed85c6c7b42a7393f737e7f5bac7fecb4a7d299 Mon Sep 17 00:00:00 2001
From: Lucas Schoenfelder <les17@inf.ufpr.br>
Date: Tue, 4 Feb 2020 19:43:53 -0300
Subject: [PATCH 05/29] trablhando no layout das abas da pagina de usuario

---
 src/App.js                             |   4 +-
 src/Components/FormInput.js            |   2 +
 src/Components/MenuList.js             |  12 +-
 src/Components/TabPanelAtividades.js   | 109 ++++---
 src/Components/TabPanelColecoes.js     |  85 ++++++
 src/Components/TabPanelFavoritos.js    |  85 ++++++
 src/Components/TabPanelMeusRecursos.js | 153 ++++++++++
 src/Components/TabPanelRede.js         |  85 ++++++
 src/Pages/Contact.js                   | 401 +++++++++++++++++++++++++
 src/Pages/UserPage.js                  | 247 ++++++++-------
 src/Pages/UserTerms.js                 |   2 +-
 src/img/banner-sobre.jpg               | Bin 0 -> 90596 bytes
 12 files changed, 1034 insertions(+), 151 deletions(-)
 create mode 100644 src/Components/TabPanelColecoes.js
 create mode 100644 src/Components/TabPanelFavoritos.js
 create mode 100644 src/Components/TabPanelMeusRecursos.js
 create mode 100644 src/Components/TabPanelRede.js
 create mode 100644 src/Pages/Contact.js
 create mode 100644 src/img/banner-sobre.jpg

diff --git a/src/App.js b/src/App.js
index a02de521..517c0b30 100644
--- a/src/App.js
+++ b/src/App.js
@@ -32,7 +32,7 @@ import {BrowserRouter, Switch, Route} from 'react-router-dom';
 import { Store } from './Store'
 import TermsPage from './Pages/TermsPage.js'
 import PublicationPermissionsPage from './Pages/PublicationPermissionsPage.js'
-
+import Contact from './Pages/Contact.js'
 
 export default function App(){
   // eslint-disable-next-line
@@ -68,6 +68,7 @@ export default function App(){
     <BrowserRouter>
       <Header />
       <div style={{backgroundImage: "linear-gradient(to right,#ff7f00,#e81f4f,#673ab7,#00bcd4)", height:"5px"}}></div>
+      <link href="https://fonts.googleapis.com/css?family=Kalam|Pompiere|Roboto&display=swap" rel="stylesheet"/>
       <Switch>
         <Route path="/" exact={true} component={Home}/>
         <Route path="/busca" component={Search} />
@@ -77,6 +78,7 @@ export default function App(){
         <Route path="/permission" component={PublicationPermissionsPage}/>
       	<Route path="/termos" component={UserTerms}/>
         <Route path="/teste" component={Teste}/>
+        <Route path="/contato" component = {Contact}/>
       </Switch>
       <EcFooter/>
       <GNUAGPLfooter/>
diff --git a/src/Components/FormInput.js b/src/Components/FormInput.js
index e6bd1c68..bcbc40fb 100644
--- a/src/Components/FormInput.js
+++ b/src/Components/FormInput.js
@@ -61,6 +61,8 @@ export default function FormInput(props) {
           onChange = {props.handleChange}
           InputProps={{className: classes.input}}
           required = {props.required}
+          error = {props.error}
+          helperText ={props.help}
           style={{width:"100%"}}
         />
   );
diff --git a/src/Components/MenuList.js b/src/Components/MenuList.js
index 1268edb7..0402b7e2 100644
--- a/src/Components/MenuList.js
+++ b/src/Components/MenuList.js
@@ -141,12 +141,12 @@ const StyledExitToAppIcon = styled(ExitToAppIcon) `
     justify-content : flex-end;
 `
 const StyledMenuItem = styled(MenuItem)`
-    display : flex;
-    justify-content: space-between;
-    width : 100%;
-    font-size : 14px;
-    color : #a5a5a5;
-    padding : 5px 20px;
+    display : flex !important;
+    justify-content: space-between !important;
+    width : 100% !important;
+    font-size : 14px !important;
+    color : #a5a5a5 !important;
+    padding : 5px 20px !important;
 `
 
 //import React from 'react';
diff --git a/src/Components/TabPanelAtividades.js b/src/Components/TabPanelAtividades.js
index 24fa2b0c..f65115ca 100644
--- a/src/Components/TabPanelAtividades.js
+++ b/src/Components/TabPanelAtividades.js
@@ -1,52 +1,85 @@
 import React, {useContext} from 'react'
 import styled from 'styled-components'
 import { Container } from 'react-grid-system'
+import Paper from '@material-ui/core/Paper';
+import Button from '@material-ui/core/Button';
 
-const MainContentContainer = styled(Container)`
-    background-color : #f4f4f4;
-    color : #666;
-    padding-bottom : 30px;
-`
-const DivNoPad = styled.div`
-    margin-bottom : 0;
-    padding-bottom : 0;
-`
+export default function TabPanelAtividades (props) {
+    return (
+        <ContainerDivStyled>
+            <Paper elevation={3}>
+                <div>
+                    <DivTitulo>
+                        <InnerDivTitulo>
+                            <TituloContent>
+                                <p style={{margin:"0 0 10px", marginBottom : "40px"}}>Todas Notificações</p>
+                            </TituloContent>
+                        </InnerDivTitulo>
+                    </DivTitulo>
+                    {/*some sort of map with a list of notifications idk what though*/}
+                    <div>
+                        <LoadMoreButton><span>CARREGAR MAIS 4</span></LoadMoreButton>
+                        <LoadMoreButton><span>CARREGAR MAIS 20</span></LoadMoreButton>
+                    </div>
+                </div>
+            </Paper>
+        </ContainerDivStyled>
+    )
+}
 
-const ColMDNoPad = styled.div`
-    padding : 0;
-    width : 100%;
-    float : left;
+const LoadMoreButton = styled(Button)`
+    outline : none !important;
+    display : inline-block !important;
+    cusor : pointer !important;
+    min-height : 36px !important;
+    min-widht : 88px !important;
+    line-height: 36px !important;
+    vertical-align: middle !important;
+    border : 0 !important;
+    padding : 0 px !important;
+    margin : 6px 8px !important;
+    text-decoration : none !important;
+    font-weight : 500 !important;
+    overflow : hidden !important;
+    text-transform : uppercase !important;
+    font-size : 14px !important;
 `
 
-const TituloDiv = styled.div`
-    font-size : 14px;
-    font-weight : 500;
-    letter-spacing : .01em;
-    line-height : 1.2em;
+const TituloContent = styled.div`
+    display : block;
+    z-index : 1;
+    position : relative;
+    font-family: Roboto, sans-serif;
+    font-weight : ligther;
 `
 
-const SubHeader = styled.div`
+const InnerDivTitulo = styled.div`
+    margin-top : 24px;
     padding-top : 16px;
-    background-color : #fff;
-    padding-bottom : 0;
+    padding-left : 16px;
+    padding-right : 16px;
+    font-size: 30px;
+    font-weight: lighter;
+    color:  #6e6e6e;
+    text-align: center;
 `
 
-export default function TabPanelAtividades (props) {
-    return (
 
-        <MainContentContainer>
-            <DivNoPad>
-                <ColMDNoPad>
-                    <TituloDiv>
-                        <SubHeader>
-                            <div style={{display:"block", zIndex:"1", position:"relative"}}>
-                                <p style={{marginBottom:"40px"}}>Todas Notificações</p>
-                            </div>
-                        </SubHeader>
-                    </TituloDiv>
-                </ColMDNoPad>
-            </DivNoPad>
-        </MainContentContainer>
+const DivTitulo = styled.div`
+    display : flex;
+    justify-content : center;
+    font-size: 14px;
+    font-weight: 500;
+    letter-spacing: .01em;
+    line-height: 1.2em;
+    margin : 0;
+    border-bottom: 1px solid #eee;
+`
 
-    )
-}
+const ContainerDivStyled = styled.div`
+    max-width : 1140px;
+    margin-left : auto;
+    margin-right : auto;
+    margin-left : 20em;
+    background-color: #fff;
+`
diff --git a/src/Components/TabPanelColecoes.js b/src/Components/TabPanelColecoes.js
new file mode 100644
index 00000000..2dd1c80f
--- /dev/null
+++ b/src/Components/TabPanelColecoes.js
@@ -0,0 +1,85 @@
+import React, {useContext} from 'react'
+import styled from 'styled-components'
+import { Container } from 'react-grid-system'
+import Paper from '@material-ui/core/Paper';
+import Button from '@material-ui/core/Button';
+
+export default function TabPanelAtividades (props) {
+    return (
+        <ContainerDivStyled>
+            <Paper elevation={3}>
+                <div>
+                    <DivTitulo>
+                        <InnerDivTitulo>
+                            <TituloContent>
+                                <p style={{margin:"0 0 10px", marginBottom : "40px"}}>Coleções</p>
+                            </TituloContent>
+                        </InnerDivTitulo>
+                    </DivTitulo>
+                    {/*some sort of map with a list of notifications idk what though*/}
+                    <div>
+                        <LoadMoreButton><span>CARREGAR MAIS 4</span></LoadMoreButton>
+                        <LoadMoreButton><span>CARREGAR MAIS 20</span></LoadMoreButton>
+                    </div>
+                </div>
+            </Paper>
+        </ContainerDivStyled>
+    )
+}
+
+const LoadMoreButton = styled(Button)`
+    outline : none !important;
+    display : inline-block !important;
+    cusor : pointer !important;
+    min-height : 36px !important;
+    min-widht : 88px !important;
+    line-height: 36px !important;
+    vertical-align: middle !important;
+    border : 0 !important;
+    padding : 0 px !important;
+    margin : 6px 8px !important;
+    text-decoration : none !important;
+    font-weight : 500 !important;
+    overflow : hidden !important;
+    text-transform : uppercase !important;
+    font-size : 14px !important;
+`
+
+const TituloContent = styled.div`
+    display : block;
+    z-index : 1;
+    position : relative;
+    font-family: Roboto, sans-serif;
+    font-weight : ligther;
+`
+
+const InnerDivTitulo = styled.div`
+    margin-top : 24px;
+    padding-top : 16px;
+    padding-left : 16px;
+    padding-right : 16px;
+    font-size: 30px;
+    font-weight: lighter;
+    color:  #6e6e6e;
+    text-align: center;
+`
+
+
+const DivTitulo = styled.div`
+    display : flex;
+    justify-content : center;
+    font-size: 14px;
+    font-weight: 500;
+    letter-spacing: .01em;
+    line-height: 1.2em;
+    margin : 0;
+    border-bottom: 1px solid #eee;
+`
+
+const ContainerDivStyled = styled.div`
+    max-width : 1140px;
+    margin-left : auto;
+    margin-right : auto;
+    margin-left : 20em;
+    background-color: #fff;
+`
diff --git a/src/Components/TabPanelFavoritos.js b/src/Components/TabPanelFavoritos.js
new file mode 100644
index 00000000..287b765d
--- /dev/null
+++ b/src/Components/TabPanelFavoritos.js
@@ -0,0 +1,85 @@
+import React, {useContext} from 'react'
+import styled from 'styled-components'
+import { Container } from 'react-grid-system'
+import Paper from '@material-ui/core/Paper';
+import Button from '@material-ui/core/Button';
+
+export default function TabPanelAtividades (props) {
+    return (
+        <ContainerDivStyled>
+            <Paper elevation={3}>
+                <div>
+                    <DivTitulo>
+                        <InnerDivTitulo>
+                            <TituloContent>
+                                <p style={{margin:"0 0 10px", marginBottom : "40px"}}>Favoritos</p>
+                            </TituloContent>
+                        </InnerDivTitulo>
+                    </DivTitulo>
+                    {/*some sort of map with a list of notifications idk what though*/}
+                    <div>
+                        <LoadMoreButton><span>CARREGAR MAIS 4</span></LoadMoreButton>
+                        <LoadMoreButton><span>CARREGAR MAIS 20</span></LoadMoreButton>
+                    </div>
+                </div>
+            </Paper>
+        </ContainerDivStyled>
+    )
+}
+
+const LoadMoreButton = styled(Button)`
+    outline : none !important;
+    display : inline-block !important;
+    cusor : pointer !important;
+    min-height : 36px !important;
+    min-widht : 88px !important;
+    line-height: 36px !important;
+    vertical-align: middle !important;
+    border : 0 !important;
+    padding : 0 px !important;
+    margin : 6px 8px !important;
+    text-decoration : none !important;
+    font-weight : 500 !important;
+    overflow : hidden !important;
+    text-transform : uppercase !important;
+    font-size : 14px !important;
+`
+
+const TituloContent = styled.div`
+    display : block;
+    z-index : 1;
+    position : relative;
+    font-family: Roboto, sans-serif;
+    font-weight : ligther;
+`
+
+const InnerDivTitulo = styled.div`
+    margin-top : 24px;
+    padding-top : 16px;
+    padding-left : 16px;
+    padding-right : 16px;
+    font-size: 30px;
+    font-weight: lighter;
+    color:  #6e6e6e;
+    text-align: center;
+`
+
+
+const DivTitulo = styled.div`
+    display : flex;
+    justify-content : center;
+    font-size: 14px;
+    font-weight: 500;
+    letter-spacing: .01em;
+    line-height: 1.2em;
+    margin : 0;
+    border-bottom: 1px solid #eee;
+`
+
+const ContainerDivStyled = styled.div`
+    max-width : 1140px;
+    margin-left : auto;
+    margin-right : auto;
+    margin-left : 20em;
+    background-color: #fff;
+`
diff --git a/src/Components/TabPanelMeusRecursos.js b/src/Components/TabPanelMeusRecursos.js
new file mode 100644
index 00000000..e1e714bd
--- /dev/null
+++ b/src/Components/TabPanelMeusRecursos.js
@@ -0,0 +1,153 @@
+import React, {useContext} from 'react'
+import styled from 'styled-components'
+import { Container } from 'react-grid-system'
+import Paper from '@material-ui/core/Paper';
+import Button from '@material-ui/core/Button';
+
+export default function TabPanelAtividades (props) {
+    return (
+        <React.Fragment>
+            <ContainerDivStyled>
+                <Paper elevation={3}>
+
+                        <DivTitulo>
+                            <StyledP>Recurso Publicado <b style={{fontWeight:"700", fontSize:"20px"}}>(0)</b></StyledP>
+                            <StyledHR/>
+                        </DivTitulo>
+                        <div>
+                            <DivTextoNoPublications>
+                                <DivConteudoNaoPublicado>
+                                    <NoPubSpan>Você ainda não publicou nenhum Recurso!</NoPubSpan>
+                                </DivConteudoNaoPublicado>
+                            </DivTextoNoPublications>
+                        </div>
+                </Paper>
+            </ContainerDivStyled>
+
+            <ContainerDivStyled>
+                <Paper elevation={3}>
+                        <DivTitulo>
+                            <StyledP>Rascunhos<b style={{fontWeight:"700", fontSize:"20px"}}>(7)</b></StyledP>
+                            <StyledHR/>
+                        </DivTitulo>
+                        <div style={{height : "400px"}}> //REMOVER ISSO
+                            <DivContainerRecursosPublicados>
+                            </DivContainerRecursosPublicados>
+                            <BtnAlinhaRecPvt>
+                                <p style={{margin:"0 0 10px", fontSize:"14px"}}>Carregados 4 de 7</p>
+                                <ButtonMostrarMais>
+                                    <span style={{color:"#fff", fontSize:"14px", fontWeight:"500"}}>MOSTRAR MAIS</span>
+                                </ButtonMostrarMais>
+                            </BtnAlinhaRecPvt>
+                        </div>
+                </Paper>
+            </ContainerDivStyled>
+
+            <ContainerDivStyled>
+                <Paper elevation={3}>
+
+                        <DivTitulo>
+                            <StyledP>Recurso sendo avaliado pela curadoria <b style={{fontWeight:"700", fontSize:"20px"}}>(0)</b></StyledP>
+                            <StyledHR/>
+                        </DivTitulo>
+                        <div>
+                            <DivTextoNoPublications>
+                                <DivConteudoNaoPublicado>
+                                    <NoPubSpan>Você não tem nenhum recurso sendo avaliado pelos curadores.</NoPubSpan>
+                                </DivConteudoNaoPublicado>
+                            </DivTextoNoPublications>
+                        </div>
+                </Paper>
+            </ContainerDivStyled>
+        </React.Fragment>
+    )
+}
+
+const ButtonMostrarMais = styled(Button)`
+    background-color : #ff7f00 !important;
+    font-size: 14px !important;
+    font-weight: 500 !important;
+    height: 36px !important;
+    border-radius: 3px !important;
+    padding-left: 16px !important;
+    padding-right: 16px !important;
+    box-shadow: 0 2px 5px 0 rgba(0,0,0,.26) !important;
+    outline : none !important;
+    min-width : 88px !important;
+    vertical-align : middle !important;
+    margin : 6px 8px !important;
+    text-decoration : none !important;
+`
+
+const BtnAlinhaRecPvt = styled.div`
+    text-align : center;
+    width : 100%;
+    float : left;
+    position : relative;
+    min-height : 1px;
+    padding-right : 15px;
+    padding-left : 15px;
+`
+
+const DivContainerRecursosPublicados = styled.div`
+    width : 100%;
+    float : left;
+    position : relative;
+    min-height : 1px;
+    padding-right : 15px;
+    padding-left : 15px;
+`
+
+const NoPubSpan = styled.span`
+    font-size : 24px;
+    font-family : Roboto;
+    font-weight : lighter;
+`
+
+const DivConteudoNaoPublicado = styled.div`
+    position : relative;
+    top : 50%;
+    transform : translateY(-50%);
+`
+
+const DivTextoNoPublications = styled.div`
+    height : 360px;
+    text-align : center;
+    width : 100%;
+    padding-right : 15px;
+    padding-left : 15px;
+`
+
+const StyledHR = styled.hr`
+    border-color : #757575;
+    border-top: 1px solid #eee;
+    margin : 0 15px 0 15px;
+    padding-right : 0;
+    padding-left : 0;
+`
+
+const StyledP = styled.p`
+    text-align : left;
+    margin-top : 10px;
+    padding-left : 15px;
+    padding-right : 15px;
+    font-weight : 300;
+    font-size : 1.875em;
+`
+
+const DivTitulo = styled.div`
+    padding : 0;
+    margin-bottom : 10px;
+    width : 100;
+    display: flex;
+    flex-direction : column;
+`
+
+const ContainerDivStyled = styled.div`
+    max-width : 1140px;
+    margin-left : auto;
+    margin-right : auto;
+    margin-left : 20em;
+    margin-bottom: 30px;
+    background-color: #fff;
+`
diff --git a/src/Components/TabPanelRede.js b/src/Components/TabPanelRede.js
new file mode 100644
index 00000000..7dfefd6d
--- /dev/null
+++ b/src/Components/TabPanelRede.js
@@ -0,0 +1,85 @@
+import React, {useContext} from 'react'
+import styled from 'styled-components'
+import { Container } from 'react-grid-system'
+import Paper from '@material-ui/core/Paper';
+import Button from '@material-ui/core/Button';
+
+export default function TabPanelAtividades (props) {
+    return (
+        <ContainerDivStyled>
+            <Paper elevation={3}>
+                <div>
+                    <DivTitulo>
+                        <InnerDivTitulo>
+                            <TituloContent>
+                                <p style={{margin:"0 0 10px", marginBottom : "40px"}}>Rede</p>
+                            </TituloContent>
+                        </InnerDivTitulo>
+                    </DivTitulo>
+                    {/*some sort of map with a list of notifications idk what though*/}
+                    <div>
+                        <LoadMoreButton><span>CARREGAR MAIS 4</span></LoadMoreButton>
+                        <LoadMoreButton><span>CARREGAR MAIS 20</span></LoadMoreButton>
+                    </div>
+                </div>
+            </Paper>
+        </ContainerDivStyled>
+    )
+}
+
+const LoadMoreButton = styled(Button)`
+    outline : none !important;
+    display : inline-block !important;
+    cusor : pointer !important;
+    min-height : 36px !important;
+    min-widht : 88px !important;
+    line-height: 36px !important;
+    vertical-align: middle !important;
+    border : 0 !important;
+    padding : 0 px !important;
+    margin : 6px 8px !important;
+    text-decoration : none !important;
+    font-weight : 500 !important;
+    overflow : hidden !important;
+    text-transform : uppercase !important;
+    font-size : 14px !important;
+`
+
+const TituloContent = styled.div`
+    display : block;
+    z-index : 1;
+    position : relative;
+    font-family: Roboto, sans-serif;
+    font-weight : ligther;
+`
+
+const InnerDivTitulo = styled.div`
+    margin-top : 24px;
+    padding-top : 16px;
+    padding-left : 16px;
+    padding-right : 16px;
+    font-size: 30px;
+    font-weight: lighter;
+    color:  #6e6e6e;
+    text-align: center;
+`
+
+
+const DivTitulo = styled.div`
+    display : flex;
+    justify-content : center;
+    font-size: 14px;
+    font-weight: 500;
+    letter-spacing: .01em;
+    line-height: 1.2em;
+    margin : 0;
+    border-bottom: 1px solid #eee;
+`
+
+const ContainerDivStyled = styled.div`
+    max-width : 1140px;
+    margin-left : auto;
+    margin-right : auto;
+    margin-left : 20em;
+    background-color: #fff;
+`
diff --git a/src/Pages/Contact.js b/src/Pages/Contact.js
new file mode 100644
index 00000000..0c0fccd5
--- /dev/null
+++ b/src/Pages/Contact.js
@@ -0,0 +1,401 @@
+/*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, { Component, useState, useEffect } from 'react';
+import styled from 'styled-components';
+import Banner1 from '../img/banner-sobre.jpg';
+import { TextField } from '@material-ui/core';
+import FormInput from "../Components/FormInput.js"
+import axios from 'axios'
+import {apiUrl} from '../env';
+
+
+const Seção1 =  styled.div `
+  width: 100%;
+  background-image: url(${Banner1});
+  background-size: cover;
+  background-position: bottom center;
+  height: 250px;
+  color:#fff;
+  line-height: 1.1;
+  text-align: center;
+  padding-top: 120px;
+
+  h2 {
+    font-family: Pompiere,cursive;
+    font-size: 52px;
+    color:#fff;
+    margin: 0;
+    padding-left: 0;
+    padding-right: 0;
+    font-weight: 500;
+  }
+
+  h3 {
+    margin-top: 20px;
+    margin-bottom: 10px;
+    font-family: Roboto,sans-serif;
+    font-size: 30px;
+    font-weight: lighter;
+
+  }
+`
+
+const Seção2 = styled.div `
+  height: 708px;
+  background-color: #f4f4f4;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+`
+const Button = styled.button`
+
+  background-color: #00acc1;
+  color:#fff;
+  font-family: Roboto,sans-serif;
+  font-size: 14px;
+  font-weight: 500;
+  height: 36px;
+  border-radius: 3px;
+  padding-left: 16px;
+  padding-right: 16px;
+  box-shadow: 0 2px 5px 0 rgba(0,0,0,.26);
+  outline: none;
+  position: relative;
+  cursor: pointer;
+  min-height: 36px;
+  min-width: 88px;
+  line-height: 36px;
+  vertical-align: middle;
+  align-items: center;
+  text-align: center;
+  border-radius: 3px;
+  box-sizing: border-box;
+  user-select: none;
+  border: 0;
+  padding: 0 6px;
+  padding-right: 6px;
+  padding-left: 6px;
+  margin: 6px 8px;
+
+  white-space: nowrap;
+  text-transform: uppercase;
+  font-weight: 500;
+  font-size: 14px;
+  font-style: inherit;
+  font-variant: inherit;
+  font-family: inherit;
+  text-decoration: none;
+  overflow: hidden;
+  transition: box-shadow .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1);
+
+
+`
+
+const Formulário = styled.div `
+  background-color: #fff;
+  box-shadow: 0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);
+  padding: 40px;
+  height: 560px;
+  width: 480px;
+  color: #666;
+
+  form .inputBlock {
+    margin-block: 22px;
+
+  }
+
+  form .inputBlock label {
+    font-size: 14px;
+    font-weight: bold;
+    display: block;
+
+  }
+
+  form .inputBlock input {
+    width: 100%;
+    height: 32px;
+    font-size: 14px;
+    border: 0;
+    border-bottom: 1px solid #eee;
+
+  }
+
+  form .inputBlock.Message input {
+    height: 131px;
+  }
+
+  form buttom[type=submit] {
+    width: 100%;
+    border: 0;
+    margin-top: 30px;
+    background: #7d40e7
+    border-radius: 2px;
+    padding: 15px 20px;
+    font-size: 16px;
+    font-weight: bold;
+    color: #fff;
+    cursor: pointer;
+    transition: background 0.5s;
+
+  }
+
+  form buttom[type=submit]:hover {
+    background: #6931ac
+  }
+
+
+  h2 {
+    font-size: 24px;
+    font-weight: lighter;
+    margin-bottom: 50px;
+    margin-top: 20px;
+    text-align: center;
+
+  }
+`
+
+
+
+const Seção3 = styled.div `
+  height: 127px;
+  background-color: #f4f4f4;
+  color:#666;
+  line-height: 1.42857143;
+  font-size:18px;
+  text-align: center;
+  padding-top: 70px;
+
+
+  p {
+    margin: 0 0 10px 0;
+  }
+
+
+`
+
+function validateNome (nome) {
+    let flag = false
+    if(nome.length === 0) {
+        flag = true
+    }
+
+    return flag
+}
+
+
+function validateMensagem (mensagem) {
+    let flag = false
+    if(mensagem.length === 0) {
+        flag = true
+    }
+
+    return flag
+}
+
+function validateEmail (email) {
+  let flag = false
+  if (email.split("").filter(x => x === "@").length !== 1) {
+    flag = true
+  }
+  return flag
+}
+
+
+
+function Contact (props) {
+
+    const [nome, handleNome] = useState(
+      {
+        dict : {
+         key:false,
+         value:""
+       }
+     })
+    const [email, handleEmail] = useState(
+      {
+        dict : {
+         key:false,
+         value:""
+     }
+    })
+    const [mensagem, handleMensagem] = useState(
+      {
+        dict : {
+         key: false,
+         value:""
+       }
+      })
+
+
+  const preencheNome = (e) => {
+    const aux2 = e.target.value
+    const flag = validateNome(aux2)
+    handleNome({...nome, dict : {
+      key : flag,
+      value : e.target.value
+    }})
+    console.log(nome)
+  }
+
+  const preencheEmail = (e) => {
+    const aux = e.target.value
+    const flag = validateEmail(aux)
+    handleEmail({...email, dict : {
+      key : flag,
+      value : e.target.value
+    }})
+    console.log(email)
+  }
+
+  const preencheMensagem = (e) => {
+    const msg = e.target.value
+    console.log(msg)
+    let flag = validateMensagem(msg)
+    handleMensagem({...mensagem, dict : {
+      key : flag,
+      value : msg
+    }})
+    console.log(mensagem)
+  }
+
+  const limpaTudo = () => {
+
+    handleNome({
+      dict : {
+       key: false,
+       value:""
+     }}
+   );
+
+    handleEmail({
+      dict : {
+       key: false,
+       value:""
+     }}
+    )
+
+    handleMensagem({
+      dict : {
+       key: false,
+       value:""
+     }}
+    )
+
+  }
+
+
+
+  const onSubmit = (e) => {
+      //on submit we should prevent the page from refreshing
+      e.preventDefault(); //though this is arguable
+      console.log(!(nome.dict.key && email.dict.key && mensagem.dict.key ))
+      // Se não houver erro em nunhum dos campos E nenhum dos campos for vazio: a página faz o contato com o backend e os campos ficam em branco no formulário
+      if (!(nome.dict.key && email.dict.key && mensagem.dict.key ) && ((nome.dict.value.length > 0) && (email.dict.value.length > 0) && (mensagem.dict.value.length > 0))) {
+
+        axios.post(`${apiUrl}/contacts`,
+            {
+              contact : {
+                name: nome.dict.value,
+                email: email.dict.value,
+                message: mensagem.dict.value
+              }
+
+        }
+        ).then()
+
+
+
+        limpaTudo();
+
+      }
+
+
+
+  }
+
+
+
+    return(
+      <>
+      <link href="https://fonts.googleapis.com/css?family=Kalam|Pompiere|Roboto:300,400&display=swap" rel="stylesheet"/>
+        <Seção1>
+          <h2>CONTATO</h2>
+          <h3>Quer enviar uma mensagem?</h3>
+        </Seção1>
+
+        <Seção2>
+
+          <Formulário noValidate autoComplete="off">
+            <h2>Entre em contato para enviar dúvidas,<br/>sugestões ou críticas</h2>
+            <form onSubmit={e => onSubmit(e)}>
+              <FormInput
+                inputType={"text"}
+                name={"nome"}
+                value={nome.dict.value}
+                placeholder={"Nome *"}
+                error = {nome.dict.key}
+                help = {nome.dict.key ? "insira seu nome para o contato " : ""}
+                handleChange={e => preencheNome(e)}
+              />
+              <br/>
+              <FormInput
+                inputType={"text"}
+                name={"email"}
+                value={email.dict.value}
+                placeholder={"E-mail *"}
+                error = {email.dict.key}
+                help = {email.dict.key ? "Formato de e-mail incorreto ou vazio, tente : usuario@provedor.com" : ""}
+                handleChange={e => preencheEmail(e)}
+              />
+              <br/>
+              <br/>
+              <FormInput
+                inputType={"text"}
+                name={"mensagem"}
+                value={mensagem.dict.value}
+                placeholder={"Mensagem *"}
+                multi = {true}
+                rows = "5"
+                rowsMax = "6"
+                error = {mensagem.dict.key}
+                help = {mensagem.dict.key ? "Faltou escrever sua mensagem de sugestão, crítica ou dúvida." : "Escreva sua mensagem no campo acima."}
+                handleChange={e => preencheMensagem(e)}
+              />
+              <br/>
+              <br/>
+              <div style={{display: "flex", justifyContent: "center"}}>
+                <Button onClick={e => onSubmit(e)} >ENVIAR MENSAGEM</Button>
+              </div>
+            </form>
+
+          </Formulário>
+        </Seção2>
+
+        <Seção3>
+
+          <span>MEC - Ministério da Educação </span>
+          <p>Endereço: Esplanada dos Ministérios Bloco L - Ed.Sede e Anexos. CEP: 70.047-900 - Brasília/DF. Telefone: 0800 616161</p>
+
+        </Seção3>
+      </>
+    );
+
+}
+
+export default Contact;
diff --git a/src/Pages/UserPage.js b/src/Pages/UserPage.js
index 0b7ab047..f6bd664c 100644
--- a/src/Pages/UserPage.js
+++ b/src/Pages/UserPage.js
@@ -31,7 +31,12 @@ import EditIcon from '@material-ui/icons/Edit';
 import CheckDecagram from '../img/check-decagram-gray.svg'
 import Tabs from '@material-ui/core/Tabs';
 import Tab from '@material-ui/core/Tab';
+import Paper from '@material-ui/core/Paper';
 import TabPanelAtividades from '../Components/TabPanelAtividades.js'
+import TabPanelMeusRecursos from '../Components/TabPanelMeusRecursos.js'
+import TabPanelFavoritos from '../Components/TabPanelFavoritos.js'
+import TabPanelColecoes from '../Components/TabPanelColecoes.js'
+import TabPanelRede from '../Components/TabPanelRede.js'
 
 export default function UserPage (props){
     const {state, dispatch} = useContext(Store)
@@ -52,110 +57,119 @@ export default function UserPage (props){
 
     return (
         <>
+        <link href="https://fonts.googleapis.com/css?family=Roboto:100,400,500&display=swap" rel="stylesheet"/>
         {
             state.userIsLoggedIn?
             (
                 [
                     <React.Fragment>
                         <HeaderDiv>
-                            <BreadcrumbsDiv>
-                                <StyledBreadcrumbs>
-                                    <Link href="/" style={{color:"#00bcd4"}}>
-                                        Página Inicial
-                                    </Link>
-                                    <span style={{color:"#a5a5a5"}}>
-                                        Minha área
-                                    </span>
-                                    <span style={{color:"#a5a5a5"}}>
-                                        Atividades
-                                    </span>
-                                </StyledBreadcrumbs>
-                            </BreadcrumbsDiv>
+                            <ContainerNoPad>
+                                <BreadcrumbsDiv>
+                                    <StyledBreadcrumbs>
+                                        <Link href="/" style={{color:"#00bcd4"}}>
+                                            Página Inicial
+                                        </Link>
+                                        <span style={{color:"#a5a5a5"}}>
+                                            Minha área
+                                        </span>
+                                        <span style={{color:"#a5a5a5"}}>
+                                            Atividades
+                                        </span>
+                                    </StyledBreadcrumbs>
+                                </BreadcrumbsDiv>
 
-                        <div style={{display:"flex", flexDirection:"column"}}>
-                            <MainContainerDesktop>
-                                <ContainerUserProfile>
-                                    <HeaderContainer>
-                                        <CoverContainer>
-                                            <img src={state.currentUser.userCover} alt = "user cover avatar" style= {{width:"100%", height:"100%", objectFit : "cover" }}/>
-                                            <input accept="image/*" style = {{display:"none"}} id="icon-button-file" type="file" />
-                                            <label htmlFor="icon-button-file">
-                                                <Tooltip title={<span style={{fontSize:"14px", overflow:"hidden", transition:"all .5s ease"}}>ALTERAR CAPA</span>} placement="left">
-                                                    <IconButton style={{position:"absolute",right:"0",top:"0",color:"#fff"}}color="primary" aria-label="upload picture" component="span">
-                                                        <PhotoCamera />
-                                                    </IconButton>
-                                                </Tooltip>
-                                            </label>
-                                        </CoverContainer>
-                                        <ProfileAvatarDiv onMouseEnter={handleHoverAlterarFoto} onMouseLeave={handleHoverAlterarFoto}>
-                                            <img src={state.currentUser.userAvatar} alt = "user avatar" style={{border:"0", verticalAlign:"middle"}}/>
-                                            <ChangeAvatarDiv  style={ {display : hoverAlterarFoto ? 'flex' : 'none'}}>
-                                                <span>Alterar Foto</span>
-                                            </ChangeAvatarDiv>
-                                        </ProfileAvatarDiv>
-                                        <UserProfileInfoDiv>
-                                            <p style={{fontSize:"28px", color:"#fff", marginBottom:"2px", fontWeight:"500"}}>{state.currentUser.username}</p>
-                                            <div style={{fontSize:"14px", color:"#fff", marginBottom:"2px"}}>
-                                                <p>{state.currentUser.education}</p>
-                                            </div>
-                                        </UserProfileInfoDiv>
-                                        <EditProfileAnchor href="/perfil/configuracoes/editarperfil">
-                                            <Button>
-                                                <EditIcon style={{marginRight:"5px", verticalAlign:"middle"}}/> <span>EDITAR PERFIL</span>
-                                            </Button>
-                                        </EditProfileAnchor>
-                                    </HeaderContainer>
-                                    <CheckTeacherDiv>
-                                    <>
-                                    {
-                                        state.isCollaborativeTeacher ?
-                                        (
-                                            [
-                                                <>
-                                                <img src={CheckDecagram} style={{color:"#00bcd4"}}/>
-                                                <span>Professor(a)</span>
-                                                </>
-                                            ]
-                                        )
-                                        :
-                                        (
-                                            [
-                                                <p style={{fontSize:"15px", lineHeight:"22px", textAlign:"left", margin:"0 0 10px"}}>
-                                                    <span style={{cursor:"pointer"}}>
-                                                        <span style={{paddingRight:"5px"}}>
-                                                            <img src={CheckDecagram}/>
+                            <div style={{display:"flex", flexDirection:"column"}}>
+                                <MainContainerDesktop>
+                                    <Paper elevation={3} style= {{width:"max-content"}}>
+                                    <ContainerUserProfile>
+                                        <HeaderContainer>
+                                            <CoverContainer>
+                                                <img src={state.currentUser.userCover} alt = "user cover avatar" style= {{width:"100%", height:"100%", objectFit : "cover" }}/>
+                                                <input accept="image/*" style = {{display:"none"}} id="icon-button-file" type="file" />
+                                                <label htmlFor="icon-button-file">
+                                                    <Tooltip title={<span style={{fontSize:"14px", overflow:"hidden", transition:"all .5s ease"}}>ALTERAR CAPA</span>} placement="left">
+                                                        <IconButton style={{position:"absolute",right:"0",top:"0",color:"#fff"}}color="primary" aria-label="upload picture" component="span">
+                                                            <PhotoCamera />
+                                                        </IconButton>
+                                                    </Tooltip>
+                                                </label>
+                                            </CoverContainer>
+                                            <ProfileAvatarDiv onMouseEnter={handleHoverAlterarFoto} onMouseLeave={handleHoverAlterarFoto}>
+                                                <img src={state.currentUser.userAvatar} alt = "user avatar" style={{border:"0", verticalAlign:"middle"}}/>
+                                                <ChangeAvatarDiv  style={ {display : hoverAlterarFoto ? 'flex' : 'none'}}>
+                                                    <span>Alterar Foto</span>
+                                                </ChangeAvatarDiv>
+                                            </ProfileAvatarDiv>
+                                            <UserProfileInfoDiv>
+                                                <p style={{fontSize:"28px", color:"#fff", marginBottom:"2px", fontWeight:"500"}}>{state.currentUser.username}</p>
+                                                <div style={{fontSize:"14px", color:"#fff", marginBottom:"2px"}}>
+                                                    <p>{state.currentUser.education}</p>
+                                                </div>
+                                            </UserProfileInfoDiv>
+                                            <EditProfileAnchor href="/perfil/configuracoes/editarperfil">
+                                                <Button>
+                                                    <EditIcon style={{marginRight:"5px", verticalAlign:"middle"}}/> <span>EDITAR PERFIL</span>
+                                                </Button>
+                                            </EditProfileAnchor>
+                                        </HeaderContainer>
+                                        <CheckTeacherDiv>
+                                        <>
+                                        {
+                                            state.isCollaborativeTeacher ?
+                                            (
+                                                [
+                                                    <>
+                                                    <img src={CheckDecagram} style={{color:"#00bcd4"}}/>
+                                                    <span>Professor(a)</span>
+                                                    </>
+                                                ]
+                                            )
+                                            :
+                                            (
+                                                [
+                                                    <p style={{fontSize:"15px", lineHeight:"22px", textAlign:"left", margin:"0 0 10px"}}>
+                                                        <span style={{cursor:"pointer"}}>
+                                                            <span style={{paddingRight:"5px"}}>
+                                                                <img src={CheckDecagram}/>
+                                                            </span>
+                                                            Você é professor(a) e gostaria de publicar recursos?
+                                                            <span style={{color:"#00bcd4"}}> SAIBA MAIS</span>
                                                         </span>
-                                                        Você é professor(a) e gostaria de publicar recursos?
-                                                        <span style={{color:"#00bcd4"}}> SAIBA MAIS</span>
-                                                    </span>
-                                                </p>
-                                            ]
-                                        )
-                                    }
-                                    </>
-                                    </CheckTeacherDiv>
-                                    <RodapeDiv>
-                                        <NavBarContentContainer>
-                                            <Tabs
-                                                value ={value}
-                                                onChange ={handleChangeTab}
-                                                indicatorColor ="primary"
-                                                textColor ="primary"
-                                                variant = "scrollable"
-                                                scrollButtons = "auto"
-                                            >
-                                                <Tab label="Atividades"/>
-                                                <Tab label="Meus Recursos"/>
-                                                <Tab label="Favoritos"/>
-                                                <Tab label="Coleções"/>
-                                                <Tab label="Rede"/>
-                                            </Tabs>
-                                        </NavBarContentContainer>
-                                    </RodapeDiv>
-                                </ContainerUserProfile>
-                            </MainContainerDesktop>
-                            </div>
-                            <TabPanelAtividades value={value} index = {0}/>
+                                                    </p>
+                                                ]
+                                            )
+                                        }
+                                        </>
+                                        </CheckTeacherDiv>
+                                        <RodapeDiv>
+                                            <NavBarContentContainer>
+                                                <StyledTabs
+                                                    value ={value}
+                                                    onChange ={handleChangeTab}
+                                                    indicatorColor ="primary"
+                                                    textColor ="primary"
+                                                    variant = "scrollable"
+                                                    scrollButtons = "auto"
+                                                >
+                                                    <StyledTab label="Atividades"/>
+                                                    <StyledTab label="Meus Recursos"/>
+                                                    <StyledTab label="Favoritos"/>
+                                                    <StyledTab label="Coleções"/>
+                                                    <StyledTab label="Rede"/>
+                                                </StyledTabs>
+                                            </NavBarContentContainer>
+                                        </RodapeDiv>
+                                    </ContainerUserProfile>
+                                    </Paper>
+                                </MainContainerDesktop>
+                                </div>
+                                {value === 0 && <TabPanelAtividades/>}
+                                {value === 1 && <TabPanelMeusRecursos/>}
+                                {value === 2 && <TabPanelFavoritos/>}
+                                {value === 3 && <TabPanelColecoes/>}
+                                {value === 4 && <TabPanelRede/>}
+                            </ContainerNoPad>
                         </HeaderDiv>
                     </React.Fragment>
                 ]
@@ -173,10 +187,15 @@ export default function UserPage (props){
   }
 
   const HeaderDiv = styled.div`
-  background-color : #f4f4f4;
-  color : #666;
-  font-size : 14px;
-  line-height : 20px;
+    background-color : #f4f4f4;
+    color : #666;
+    font-size : 14px;
+    line-height : 20px;
+    padding-bottom : 40px;
+  `
+
+  const ContainerNoPad = styled.div`
+    min-width : "1170px"
   `
 
   const BreadcrumbsDiv = styled.div`
@@ -186,19 +205,19 @@ export default function UserPage (props){
   `
 
   const StyledBreadcrumbs = styled(Breadcrumbs)`
-  display : flex;
-  justify-content : flex-start;
-  max-width : 1170px;
+    display : flex;
+    justify-content : flex-start;
+    max-width : 1170px;
   `
 
   const MainContainerDesktop = styled(Container)`
-  padding : 10px 0 8px 0;
+    padding : 10px 0 8px 0;
   `
 
   const ContainerUserProfile = styled(Container)`
   padding : 0;
   background-color : #fff;
-  magin-bottom: 30px;
+  margin-bottom: 30px;
   width : 1170px;
   margin-right : auto;
   padding-left : 0 !important;
@@ -285,3 +304,21 @@ export default function UserPage (props){
     overflow-y : hid1den !important;
     margin-right : 0 !important;
   `
+
+const StyledTabs = styled(Tabs)`
+    .MuiTab-textColorPrimary.Mui-selected {
+        color : #00bcd4 !important;
+        border-bottom-color : #00bcd4 !important;
+    }
+    .Mui-selected {
+        border-bottom-color : #00bcd4 !important;
+    }
+`
+const StyledTab = styled(Tab)`
+    .Mui-selected {
+        border-bottom-color : #00bcd4 !important;
+    }
+    .MuiTab-wrapper {
+        border-bottom-color : #00bcd4 !important;
+    }
+`
diff --git a/src/Pages/UserTerms.js b/src/Pages/UserTerms.js
index 411fdd62..a6d9fe24 100644
--- a/src/Pages/UserTerms.js
+++ b/src/Pages/UserTerms.js
@@ -208,7 +208,7 @@ class UserTerms extends Component {
 
       return (
         <div style={{color:"rgba(0,0,0,0.87"}} >
-        <link href="https://fonts.googleapis.com/css?family=Kalam|Pompiere|Roboto&display=swap" rel="stylesheet"/>
+        
 
           <BannerStyle>
             <h2 style={{width: "100%",textAlign: "center",marginTop:"0px", paddingTop:"6rem",marginBottom:"16px",fontSize:"52px",fontFamily: "'Pompiere', cursive",color:"#fff",fontWeight:"500"}}>TERMOS DE USO</h2>
diff --git a/src/img/banner-sobre.jpg b/src/img/banner-sobre.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..fa5d39fcdde21ae4740e41723f6be0322ef9add0
GIT binary patch
literal 90596
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

literal 0
HcmV?d00001

-- 
GitLab


From 098e37b3e2c35cbbe5b7474f9eaf13eb48d45c70 Mon Sep 17 00:00:00 2001
From: Lucas Schoenfelder <les17@inf.ufpr.br>
Date: Tue, 4 Feb 2020 19:43:53 -0300
Subject: [PATCH 06/29] trablhando no layout das abas da pagina de usuario

---
 src/Components/TabPanelColecoes.js     | 111 +++++++--------------
 src/Components/TabPanelFavoritos.js    | 129 +++++++++++--------------
 src/Components/TabPanelMeusRecursos.js |  32 ++++--
 src/Components/TabPanelRede.js         | 111 +++++++--------------
 4 files changed, 153 insertions(+), 230 deletions(-)

diff --git a/src/Components/TabPanelColecoes.js b/src/Components/TabPanelColecoes.js
index 2dd1c80f..85d97654 100644
--- a/src/Components/TabPanelColecoes.js
+++ b/src/Components/TabPanelColecoes.js
@@ -3,83 +3,42 @@ import styled from 'styled-components'
 import { Container } from 'react-grid-system'
 import Paper from '@material-ui/core/Paper';
 import Button from '@material-ui/core/Button';
+import {ButtonMostrarTodos, ButtonMostrarMais, BtnAlinhaRecPvt, DivContainerRecursosPublicados, ContainerDivStyled, DivTitulo, StyledP, StyledHR} from './TabPanelMeusRecursos.js'
 
-export default function TabPanelAtividades (props) {
+export default function TabPanelColecoes (props) {
     return (
-        <ContainerDivStyled>
-            <Paper elevation={3}>
-                <div>
-                    <DivTitulo>
-                        <InnerDivTitulo>
-                            <TituloContent>
-                                <p style={{margin:"0 0 10px", marginBottom : "40px"}}>Coleções</p>
-                            </TituloContent>
-                        </InnerDivTitulo>
-                    </DivTitulo>
-                    {/*some sort of map with a list of notifications idk what though*/}
-                    <div>
-                        <LoadMoreButton><span>CARREGAR MAIS 4</span></LoadMoreButton>
-                        <LoadMoreButton><span>CARREGAR MAIS 20</span></LoadMoreButton>
-                    </div>
-                </div>
-            </Paper>
-        </ContainerDivStyled>
+        <React.Fragment>
+            <ContainerDivStyled>
+                <Paper elevation={3}>
+                        <DivTitulo>
+                            <StyledP>Minhas Coleções <b style={{fontWeight:"700", fontSize:"20px"}}>(2)</b></StyledP>
+                            <StyledHR/>
+                        </DivTitulo>
+                        <div style={{height : "400px"}}> //REMOVER ISSO
+                            <DivContainerRecursosPublicados>
+                            </DivContainerRecursosPublicados>
+                            <BtnAlinhaRecPvt>
+                                <p style={{margin:"0 0 10px", fontSize:"14px"}}>Carregados 2 de 2</p>
+                            </BtnAlinhaRecPvt>
+                        </div>
+                </Paper>
+            </ContainerDivStyled>
+
+            <ContainerDivStyled>
+                <Paper elevation={3}>
+                        <DivTitulo>
+                            <StyledP>Coleções que eu sigo <b style={{fontWeight:"700", fontSize:"20px"}}>(4)</b></StyledP>
+                            <StyledHR/>
+                        </DivTitulo>
+                        <div style={{height : "400px"}}> //REMOVER ISSO
+                            <DivContainerRecursosPublicados>
+                            </DivContainerRecursosPublicados>
+                            <BtnAlinhaRecPvt>
+                                <p style={{margin:"0 0 10px", fontSize:"14px"}}>Carregados 4 de 4</p>
+                            </BtnAlinhaRecPvt>
+                        </div>
+                </Paper>
+            </ContainerDivStyled>
+        </React.Fragment>
     )
 }
-
-const LoadMoreButton = styled(Button)`
-    outline : none !important;
-    display : inline-block !important;
-    cusor : pointer !important;
-    min-height : 36px !important;
-    min-widht : 88px !important;
-    line-height: 36px !important;
-    vertical-align: middle !important;
-    border : 0 !important;
-    padding : 0 px !important;
-    margin : 6px 8px !important;
-    text-decoration : none !important;
-    font-weight : 500 !important;
-    overflow : hidden !important;
-    text-transform : uppercase !important;
-    font-size : 14px !important;
-`
-
-const TituloContent = styled.div`
-    display : block;
-    z-index : 1;
-    position : relative;
-    font-family: Roboto, sans-serif;
-    font-weight : ligther;
-`
-
-const InnerDivTitulo = styled.div`
-    margin-top : 24px;
-    padding-top : 16px;
-    padding-left : 16px;
-    padding-right : 16px;
-    font-size: 30px;
-    font-weight: lighter;
-    color:  #6e6e6e;
-    text-align: center;
-`
-
-
-const DivTitulo = styled.div`
-    display : flex;
-    justify-content : center;
-    font-size: 14px;
-    font-weight: 500;
-    letter-spacing: .01em;
-    line-height: 1.2em;
-    margin : 0;
-    border-bottom: 1px solid #eee;
-`
-
-const ContainerDivStyled = styled.div`
-    max-width : 1140px;
-    margin-left : auto;
-    margin-right : auto;
-    margin-left : 20em;
-    background-color: #fff;
-`
diff --git a/src/Components/TabPanelFavoritos.js b/src/Components/TabPanelFavoritos.js
index 287b765d..1615309d 100644
--- a/src/Components/TabPanelFavoritos.js
+++ b/src/Components/TabPanelFavoritos.js
@@ -3,83 +3,70 @@ import styled from 'styled-components'
 import { Container } from 'react-grid-system'
 import Paper from '@material-ui/core/Paper';
 import Button from '@material-ui/core/Button';
+import {ButtonMostrarTodos, ButtonMostrarMais, BtnAlinhaRecPvt, DivContainerRecursosPublicados, ContainerDivStyled, DivTitulo, StyledP, StyledHR} from './TabPanelMeusRecursos.js'
 
-export default function TabPanelAtividades (props) {
+export default function TabPanelFavoritos (props) {
     return (
-        <ContainerDivStyled>
-            <Paper elevation={3}>
-                <div>
-                    <DivTitulo>
-                        <InnerDivTitulo>
-                            <TituloContent>
-                                <p style={{margin:"0 0 10px", marginBottom : "40px"}}>Favoritos</p>
-                            </TituloContent>
-                        </InnerDivTitulo>
-                    </DivTitulo>
-                    {/*some sort of map with a list of notifications idk what though*/}
-                    <div>
-                        <LoadMoreButton><span>CARREGAR MAIS 4</span></LoadMoreButton>
-                        <LoadMoreButton><span>CARREGAR MAIS 20</span></LoadMoreButton>
-                    </div>
-                </div>
-            </Paper>
-        </ContainerDivStyled>
+        <React.Fragment>
+            <ContainerDivStyled>
+                <Paper elevation={3}>
+                        <DivTitulo>
+                            <StyledP>Recursos Favoritados <b style={{fontWeight:"700", fontSize:"20px"}}>(43)</b></StyledP>
+                            <StyledHR/>
+                        </DivTitulo>
+                        <div style={{height : "400px"}}> //REMOVER ISSO
+                            <DivContainerRecursosPublicados>
+                            </DivContainerRecursosPublicados>
+                            <BtnAlinhaRecPvt>
+                                <p style={{margin:"0 0 10px", fontSize:"14px"}}>Carregados 4 de 7</p>
+                                <ButtonMostrarMais>
+                                    <span style={{color:"#fff", fontSize:"14px", fontWeight:"500"}}>MOSTRAR MAIS</span>
+                                </ButtonMostrarMais>
+                                <ButtonMostrarTodos>
+                                    <span style={{color:"#666", fontSize:"14px", fontWeight:"500"}}>MOSTRAR TODOS</span>
+                                </ButtonMostrarTodos>
+                            </BtnAlinhaRecPvt>
+                        </div>
+                </Paper>
+            </ContainerDivStyled>
+
+            <ContainerDivStyled>
+                <Paper elevation={3}>
+                        <DivTitulo>
+                            <StyledP>Recursos Favoritados <b style={{fontWeight:"700", fontSize:"20px"}}>(43)</b></StyledP>
+                            <StyledHR/>
+                        </DivTitulo>
+                        <div style={{height : "400px"}}> //REMOVER ISSO
+                            <DivContainerRecursosPublicados>
+                            </DivContainerRecursosPublicados>
+                            <BtnAlinhaRecPvt>
+                                <p style={{margin:"0 0 10px", fontSize:"14px"}}>Carregados 4 de 7</p>
+                                <ButtonMostrarMaisColecao>
+                                    <span style={{color:"#fff", fontSize:"14px", fontWeight:"500"}}>MOSTRAR MAIS</span>
+                                </ButtonMostrarMaisColecao>
+                                <ButtonMostrarTodos>
+                                    <span style={{color:"#666", fontSize:"14px", fontWeight:"500"}}>MOSTRAR TODOS</span>
+                                </ButtonMostrarTodos>
+                            </BtnAlinhaRecPvt>
+                        </div>
+                </Paper>
+            </ContainerDivStyled>
+        </React.Fragment>
     )
 }
 
-const LoadMoreButton = styled(Button)`
+const ButtonMostrarMaisColecao = styled(Button)`
+    background-color : #503096 !important;
+    font-size: 14px !important;
+    font-weight: 500 !important;
+    height: 36px !important;
+    border-radius: 3px !important;
+    padding-left: 16px !important;
+    padding-right: 16px !important;
+    box-shadow: 0 2px 5px 0 rgba(0,0,0,.26) !important;
     outline : none !important;
-    display : inline-block !important;
-    cusor : pointer !important;
-    min-height : 36px !important;
-    min-widht : 88px !important;
-    line-height: 36px !important;
-    vertical-align: middle !important;
-    border : 0 !important;
-    padding : 0 px !important;
+    min-width : 88px !important;
+    vertical-align : middle !important;
     margin : 6px 8px !important;
     text-decoration : none !important;
-    font-weight : 500 !important;
-    overflow : hidden !important;
-    text-transform : uppercase !important;
-    font-size : 14px !important;
-`
-
-const TituloContent = styled.div`
-    display : block;
-    z-index : 1;
-    position : relative;
-    font-family: Roboto, sans-serif;
-    font-weight : ligther;
-`
-
-const InnerDivTitulo = styled.div`
-    margin-top : 24px;
-    padding-top : 16px;
-    padding-left : 16px;
-    padding-right : 16px;
-    font-size: 30px;
-    font-weight: lighter;
-    color:  #6e6e6e;
-    text-align: center;
-`
-
-
-const DivTitulo = styled.div`
-    display : flex;
-    justify-content : center;
-    font-size: 14px;
-    font-weight: 500;
-    letter-spacing: .01em;
-    line-height: 1.2em;
-    margin : 0;
-    border-bottom: 1px solid #eee;
-`
-
-const ContainerDivStyled = styled.div`
-    max-width : 1140px;
-    margin-left : auto;
-    margin-right : auto;
-    margin-left : 20em;
-    background-color: #fff;
 `
diff --git a/src/Components/TabPanelMeusRecursos.js b/src/Components/TabPanelMeusRecursos.js
index e1e714bd..44e30ab1 100644
--- a/src/Components/TabPanelMeusRecursos.js
+++ b/src/Components/TabPanelMeusRecursos.js
@@ -38,6 +38,9 @@ export default function TabPanelAtividades (props) {
                                 <ButtonMostrarMais>
                                     <span style={{color:"#fff", fontSize:"14px", fontWeight:"500"}}>MOSTRAR MAIS</span>
                                 </ButtonMostrarMais>
+                                <ButtonMostrarTodos>
+                                    <span style={{color:"#666", fontSize:"14px", fontWeight:"500"}}>MOSTRAR TODOS</span>
+                                </ButtonMostrarTodos>
                             </BtnAlinhaRecPvt>
                         </div>
                 </Paper>
@@ -63,7 +66,22 @@ export default function TabPanelAtividades (props) {
     )
 }
 
-const ButtonMostrarMais = styled(Button)`
+export const ButtonMostrarTodos = styled(Button)`
+    &:hover {
+        color : #d5d5d5 !important;
+    }
+    height : 36px !important;
+    padding-left: 16px !important;
+    padding-right: 16px !important;
+    font-weight: 500 !important;
+    border-radius: 3px !important;
+    color:#666 !important;
+    background-color: #e8e8e8 !important;
+    min-width : 88px !important;
+    height: 36px !important;
+`
+
+export const ButtonMostrarMais = styled(Button)`
     background-color : #ff7f00 !important;
     font-size: 14px !important;
     font-weight: 500 !important;
@@ -79,7 +97,7 @@ const ButtonMostrarMais = styled(Button)`
     text-decoration : none !important;
 `
 
-const BtnAlinhaRecPvt = styled.div`
+export const BtnAlinhaRecPvt = styled.div`
     text-align : center;
     width : 100%;
     float : left;
@@ -89,7 +107,7 @@ const BtnAlinhaRecPvt = styled.div`
     padding-left : 15px;
 `
 
-const DivContainerRecursosPublicados = styled.div`
+export const DivContainerRecursosPublicados = styled.div`
     width : 100%;
     float : left;
     position : relative;
@@ -118,7 +136,7 @@ const DivTextoNoPublications = styled.div`
     padding-left : 15px;
 `
 
-const StyledHR = styled.hr`
+export const StyledHR = styled.hr`
     border-color : #757575;
     border-top: 1px solid #eee;
     margin : 0 15px 0 15px;
@@ -126,7 +144,7 @@ const StyledHR = styled.hr`
     padding-left : 0;
 `
 
-const StyledP = styled.p`
+export const StyledP = styled.p`
     text-align : left;
     margin-top : 10px;
     padding-left : 15px;
@@ -135,7 +153,7 @@ const StyledP = styled.p`
     font-size : 1.875em;
 `
 
-const DivTitulo = styled.div`
+export const DivTitulo = styled.div`
     padding : 0;
     margin-bottom : 10px;
     width : 100;
@@ -143,7 +161,7 @@ const DivTitulo = styled.div`
     flex-direction : column;
 `
 
-const ContainerDivStyled = styled.div`
+export const ContainerDivStyled = styled.div`
     max-width : 1140px;
     margin-left : auto;
     margin-right : auto;
diff --git a/src/Components/TabPanelRede.js b/src/Components/TabPanelRede.js
index 7dfefd6d..cebbf197 100644
--- a/src/Components/TabPanelRede.js
+++ b/src/Components/TabPanelRede.js
@@ -3,83 +3,42 @@ import styled from 'styled-components'
 import { Container } from 'react-grid-system'
 import Paper from '@material-ui/core/Paper';
 import Button from '@material-ui/core/Button';
+import {ButtonMostrarTodos, ButtonMostrarMais, BtnAlinhaRecPvt, DivContainerRecursosPublicados, ContainerDivStyled, DivTitulo, StyledP, StyledHR} from './TabPanelMeusRecursos.js'
 
-export default function TabPanelAtividades (props) {
+export default function TabPanelRede (props) {
     return (
-        <ContainerDivStyled>
-            <Paper elevation={3}>
-                <div>
-                    <DivTitulo>
-                        <InnerDivTitulo>
-                            <TituloContent>
-                                <p style={{margin:"0 0 10px", marginBottom : "40px"}}>Rede</p>
-                            </TituloContent>
-                        </InnerDivTitulo>
-                    </DivTitulo>
-                    {/*some sort of map with a list of notifications idk what though*/}
-                    <div>
-                        <LoadMoreButton><span>CARREGAR MAIS 4</span></LoadMoreButton>
-                        <LoadMoreButton><span>CARREGAR MAIS 20</span></LoadMoreButton>
-                    </div>
-                </div>
-            </Paper>
-        </ContainerDivStyled>
+        <React.Fragment>
+            <ContainerDivStyled>
+                <Paper elevation={3}>
+                        <DivTitulo>
+                            <StyledP>Seguidor <b style={{fontWeight:"700", fontSize:"20px"}}>(1)</b></StyledP>
+                            <StyledHR/>
+                        </DivTitulo>
+                        <div style={{height : "400px"}}> //REMOVER ISSO
+                            <DivContainerRecursosPublicados>
+                            </DivContainerRecursosPublicados>
+                            <BtnAlinhaRecPvt>
+                                <p style={{margin:"0 0 10px", fontSize:"14px"}}>Carregado 1 de 1</p>
+                            </BtnAlinhaRecPvt>
+                        </div>
+                </Paper>
+            </ContainerDivStyled>
+
+            <ContainerDivStyled>
+                <Paper elevation={3}>
+                        <DivTitulo>
+                            <StyledP>Seguindo <b style={{fontWeight:"700", fontSize:"20px"}}>(1)</b></StyledP>
+                            <StyledHR/>
+                        </DivTitulo>
+                        <div style={{height : "400px"}}> //REMOVER ISSO
+                            <DivContainerRecursosPublicados>
+                            </DivContainerRecursosPublicados>
+                            <BtnAlinhaRecPvt>
+                                <p style={{margin:"0 0 10px", fontSize:"14px"}}>Carregado 1 de 1</p>
+                            </BtnAlinhaRecPvt>
+                        </div>
+                </Paper>
+            </ContainerDivStyled>
+        </React.Fragment>
     )
 }
-
-const LoadMoreButton = styled(Button)`
-    outline : none !important;
-    display : inline-block !important;
-    cusor : pointer !important;
-    min-height : 36px !important;
-    min-widht : 88px !important;
-    line-height: 36px !important;
-    vertical-align: middle !important;
-    border : 0 !important;
-    padding : 0 px !important;
-    margin : 6px 8px !important;
-    text-decoration : none !important;
-    font-weight : 500 !important;
-    overflow : hidden !important;
-    text-transform : uppercase !important;
-    font-size : 14px !important;
-`
-
-const TituloContent = styled.div`
-    display : block;
-    z-index : 1;
-    position : relative;
-    font-family: Roboto, sans-serif;
-    font-weight : ligther;
-`
-
-const InnerDivTitulo = styled.div`
-    margin-top : 24px;
-    padding-top : 16px;
-    padding-left : 16px;
-    padding-right : 16px;
-    font-size: 30px;
-    font-weight: lighter;
-    color:  #6e6e6e;
-    text-align: center;
-`
-
-
-const DivTitulo = styled.div`
-    display : flex;
-    justify-content : center;
-    font-size: 14px;
-    font-weight: 500;
-    letter-spacing: .01em;
-    line-height: 1.2em;
-    margin : 0;
-    border-bottom: 1px solid #eee;
-`
-
-const ContainerDivStyled = styled.div`
-    max-width : 1140px;
-    margin-left : auto;
-    margin-right : auto;
-    margin-left : 20em;
-    background-color: #fff;
-`
-- 
GitLab


From c5015adf418ee387241525ae272a64a49780e79b Mon Sep 17 00:00:00 2001
From: Lucas Schoenfelder <les17@inf.ufpr.br>
Date: Wed, 5 Feb 2020 10:00:06 -0300
Subject: [PATCH 07/29] button publicar recurso arrumado

---
 src/Components/MenuBar.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/Components/MenuBar.js b/src/Components/MenuBar.js
index 17b4d9e2..74fce862 100644
--- a/src/Components/MenuBar.js
+++ b/src/Components/MenuBar.js
@@ -136,7 +136,7 @@ export default function MenuBar(props){
                             <Link to="/termos-publicar-recurso">
                                 <ButtonPublicarRecurso>
                                     <CloudUploadIcon style={{color:"white", marginLeft : "0"}}/>
-                                        <span style={{color : "#fff", textAlign: "center", alignSelf : "center", fontWeight:"100"}} >
+                                        <span style={{color : "#fff", textAlign: "center", alignSelf : "center", fontWeight:"500"}} >
                                             PUBLICAR RECURSO
                                         </span>
 
-- 
GitLab


From fd438c0bb8c767f6c87fd872b2211db422b576cb Mon Sep 17 00:00:00 2001
From: Lucas Schoenfelder <les17@inf.ufpr.br>
Date: Wed, 5 Feb 2020 19:19:17 -0300
Subject: [PATCH 08/29] adicionado localStorage e requisicoes ao backend para
 algumas das abas

---
 src/Components/LoginContainerFunction.js | 364 +++++++++++++++++++++++
 src/Components/LoginModal.js             |  14 +-
 src/Components/MenuList.js               |   1 +
 src/Components/ModalAlterarAvatar.js     | 119 ++++++++
 src/Components/SignUpContainer.js        |   4 +-
 src/Components/SignUpModal.js            |   5 +
 src/Components/TabPanelAtividades.js     |  32 +-
 src/Components/TabPanelMeusRecursos.js   |   4 +-
 src/Pages/UserPage.js                    |  40 ++-
 src/Store.js                             |  14 +-
 10 files changed, 585 insertions(+), 12 deletions(-)
 create mode 100644 src/Components/LoginContainerFunction.js
 create mode 100644 src/Components/ModalAlterarAvatar.js

diff --git a/src/Components/LoginContainerFunction.js b/src/Components/LoginContainerFunction.js
new file mode 100644
index 00000000..d1a5451b
--- /dev/null
+++ b/src/Components/LoginContainerFunction.js
@@ -0,0 +1,364 @@
+/*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} from "react";
+import GoogleLogin from 'react-google-login'
+import { Button } from '@material-ui/core';
+//import FacebookLogin from 'react-facebook-login';
+import CloseIcon from '@material-ui/icons/Close';
+import styled from 'styled-components'
+import {device} from './device.js'
+import LabeledCheckbox from './Checkbox.js'
+import FormInput from "./FormInput.js"
+import GoogleLogo from "../img/logo_google.svg"
+
+function validateUserInput(type, input) {
+    let flag = false
+
+    if (type === 'email') {
+        if(input.split("").filter(x => x === "@").length !== 1) {
+            flag = true
+        }
+    }
+    else if (type === 'senha') {
+        if(input.length < 1) {
+            flag = true
+        }
+    }
+
+    return flag
+}
+
+export default function LoginContainer (props) {
+    const [formEmail, setEmail] = useState(
+        {
+            dict : {
+                key : false,
+                value : ""
+            }
+        }
+    )
+
+    const [formSenha, setSenha] = useState(
+        {
+            dict : {
+                key : false,
+                value : ""
+            }
+        }
+    )
+
+    const [checkboxControl, handleCheckbox] = useState(false)
+
+    const switchModal = (e) => {
+        e.preventDefault()
+        props.handleClose()
+        props.openSignUp()
+    }
+
+    const handleChange = (e, type) => {
+        const userInput = e.target.value
+        const flag = validateUserInput(type, userInput)
+
+        if(type === 'email') {
+            setEmail({...formEmail, dict : {
+                key : flag,
+                value : userInput
+            }})
+            console.log(formEmail)
+        }
+        else if(type === 'senha') {
+            setSenha({...formSenha, dict : {
+                key : flag,
+                value : userInput
+            }})
+            console.log(formSenha)
+        }
+    }
+
+    const limpaCamposForm = () => {
+        setEmail({...formEmail, dict : {
+            key : false,
+            value : ''
+        }});
+
+        setSenha({...formSenha, dict : {
+            key : false,
+            value : ''
+        }})
+    }
+
+    const onSubmit = (e) => {
+        e.preventDefault()
+        const login = {email : formEmail.dict.value, senha : formSenha.dict.value}
+
+        if (!(formEmail.dict.key && formSenha.dict.key)) {
+            props.handleLoginInfo(login)
+            limpaCamposForm()
+        }
+
+        {/*if (checkboxControl) {
+            props.lembrarMe()
+        }*/}
+    }
+
+    //arrumar isso
+    const responseGoogle = (response) => {
+      console.log(response);
+    }
+
+    return (
+
+            <ContainerStyled >
+                <DialogHeaderStyled>
+                    <span style={{width:"32px"}}/>
+                    <H2Styled> Entrar
+                    </H2Styled>
+                    <StyledCloseModalButton onClick={props.handleClose}>
+                    <CloseIcon/>
+                    </StyledCloseModalButton>
+                </DialogHeaderStyled>
+
+                <DialogContentDiv>
+                    <SocialConnectDiv>
+                        <StyledGoogleLoginButton
+                            clientId="658977310896-knrl3gka66fldh83dao2rhgbblmd4un9.apps.googleusercontent.com"
+                            onSuccess={responseGoogle}
+                            onFailure={responseGoogle}
+                            cookiePolicy={'single_host_origin'}
+                        >
+                        <span style={{textTransform:"none", fontSize:"13px", color : "#666"}}>Usando o Google</span>
+                        </StyledGoogleLoginButton>
+                    </SocialConnectDiv>
+
+                    <H3Div>
+                        <H3Styled>
+                            <RightSideStrikedH3/>
+                            <span style={{verticalAlign:"middle"}}>ou</span>
+                            <LeftSideStrikedH3/>
+                        </H3Styled>
+                    </H3Div>
+
+                    <form ref="form" onSubmit={e => onSubmit(e)}>
+                        <FormInput
+                            inputType={"text"}
+                            name={"email"}
+                            value={formEmail}
+                            placeholder={"E-mail"}
+                            handleChange={e => handleChange(e, 'email')}
+                            required={true}
+                        />
+                        <br/>
+                        <FormInput
+                            inputType={"password"}
+                            name={"senha"}
+                            value={formSenha}
+                            placeholder={"Senha"}
+                            handleChange={e => handleChange(e, 'senha')}
+                            required={true}
+                        />
+                        <br/>
+
+                        <RememberRecover>
+                            <LabeledCheckbox label={<StyledLabel><StyledSpan>Lembrar-me</StyledSpan></StyledLabel>} onchange={() => {handleCheckbox(!checkboxControl)}} disabledCheckbox={checkboxControl}/>
+                            <UserForgotTheirPasswordSpan>Esqueceu a senha? <a href="recuperar-senha" style={{textAlign: "right", color:"#4cd0e1"}}>Clique aqui!</a></UserForgotTheirPasswordSpan>
+                        </RememberRecover>
+
+                        <ConfirmContainerStyled>
+                            <StyledLoginButton onClick={e => onSubmit(e)} variant="contained">
+                                <span style={{borderRadius:"3px", boxSizing:"border-box", fontFamily:"Roboto, sans serif", fontWeight:"500", color:"#fff"}}>ENTRAR</span>
+                            </StyledLoginButton>
+                        </ConfirmContainerStyled>
+                    </form>
+
+                    <DialogFooterStyled>
+                        <span style={{textAlign:"center", fontSize: "14px", color:"rgb(102, 102, 102)"}}>Ainda não tem cadastro? <StyledAnchor href="" onClick={e => switchModal(e)}>CADASTRE-SE</StyledAnchor></span>
+                    </DialogFooterStyled>
+                </DialogContentDiv>
+            </ContainerStyled>
+
+    )
+}
+
+
+    const ContainerStyled = styled.div`
+    box-sizing : border-box;
+    background-color : white;
+    max-width : none;
+    display : flex;
+    flex-direction : column;
+    min-width : 440px;
+    
+    align : center;
+    padding : 10px;
+    border-radius: 4px;
+    line-height : 20px;
+    font-size : 14px;
+    @media ${device.mobileM} {
+    width : 100%;
+    height : 100%;
+    }
+    `
+
+    export const DialogHeaderStyled = styled.div`
+    text-align : center;
+    display : flex;
+    flex-direction : row;
+    justify-content : space-between;
+    padding : 10px 26px 0 26px;
+    height : 64px;
+    `
+    const H2Styled = styled.h2`
+    align-self : center;
+    color : #666;
+    font-size : 26px;
+    font-weight : 100;
+    font-family: 'Roboto', sans serif, 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
+    justify-content: space-between;
+    text-align: center;
+    letter-spacing: .005em;
+    `
+
+    export 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;
+    `
+    export const DialogContentDiv = styled.div`
+    padding : 20px 30px;
+    overflow : visible !important;
+    `
+
+    export const SocialConnectDiv = styled.div`
+    margin-top : 0;
+    display : flex;
+    flex-direction : row;
+    `
+    export const StyledGoogleLoginButton = styled(GoogleLogin)`
+    background-color : #fff !important;
+    color : #666 !important;
+    border : 1px solid rgb(66, 133, 244);
+    box-shadow: 0 0 0 1px #4285f4 !important;
+    :hover {
+    background-color: #f4f4f4 !important;
+    }
+    `
+
+    const DialogFooterStyled = styled.div`
+    box-sizing : border-box;
+    font-family : 'Roboto', sans serif;
+    margin : 20px -20px;
+    padding-top : 20px;
+    border-top : 1px #e5e5e5 solid;
+    justify-content : center;
+    text-align : center;
+    line-height : 1.42857143
+    `
+
+
+    const RightSideStrikedH3 = styled.div`
+    display :  inline-block;
+    border-bottom: 1px dotted #666;
+    vertical-align :  middle;
+    font-weight : 500;
+    margin-right : 5px;
+    width : 45%;
+    `
+
+    const LeftSideStrikedH3 = styled.div`
+    display :  inline-block;
+    border-bottom: 1px dotted #666;
+    vertical-align :  middle;
+    font-weight : 500;
+    margin-left : 5px;
+    width : 45%;
+    `
+
+    export const H3Div = styled.div`
+    margin-top : 0;
+    margin-bottom : 10px;
+    `
+
+    const H3Styled = styled.h3`
+    overflow : hidden;
+    text-align : center;
+    font-size : 14px;
+    color : #666;
+    margin : 10px 0;
+    `
+
+    const StyledAnchor = styled.a`
+    color : #00bcd4;
+    text-decoration : none;
+    `
+    const ConfirmContainerStyled = styled.div`
+    display :  flex;
+    margin-top : 10px;
+    align-items : center;
+    justify-content : center;
+    `
+    const StyledLoginButton = styled(Button)`
+    background-color : #00bcd4 !important;
+    box-shadow : none !important;
+    outline: none !important;
+    border : 0 !important;
+    overflow : hidden !important;
+    width : 35% !important;
+    display : inline-block !important;
+    font-family : 'Roboto', sans serif !important;
+    font-size: 14px !important;
+    height : 36px !important;
+    align-items : center !important;
+    border-radius: 3px !important;
+    align-self : 50% !important;
+    :hover {
+    background-color : #00acc1 !important;
+    }
+    `
+
+
+    const RememberRecover = styled.div`
+    display : flex;
+    justify-content : space-between;
+    font-size: 12px;
+    font-weight : 400;
+    `
+
+    const StyledLabel = styled.div`
+    box-sizing : border-box;
+    position : relative;
+    vertical-align : middle !important;
+    color : #666;
+    `
+
+    const UserForgotTheirPasswordSpan = styled.span`
+        margin-top : 1em;
+        font-size : 12px;
+        font-weight : 400;
+        text-align : right;
+        color : #666;
+        `
+
+        const StyledSpan = styled.span`
+        font-size : 12px;
+        font-weight : 400;
+        padding-top : 2px;
+        `
diff --git a/src/Components/LoginModal.js b/src/Components/LoginModal.js
index 65ff4e34..26607d36 100644
--- a/src/Components/LoginModal.js
+++ b/src/Components/LoginModal.js
@@ -22,7 +22,7 @@ import Modal from '@material-ui/core/Modal';
 import Backdrop from '@material-ui/core/Backdrop';
 import Zoom from '@material-ui/core/Fade';
 import styled from 'styled-components'
-import LoginContainer from './LoginContainer'
+import LoginContainer from './LoginContainer.js'
 import {Store} from '../Store.js'
 import axios from 'axios'
 import {apiUrl} from '../env';
@@ -45,7 +45,8 @@ function Alert(props) {
 }
 
 export default function LoginModal (props){
-  const {state, dispatch} = useContext(Store)
+    const {state, dispatch} = useContext(Store)
+
     const [snackbarOpened, handleSnackbar] = useState(false)
 
     const handleCloseSnackbar = (event, reason) => {
@@ -77,6 +78,15 @@ export default function LoginModal (props){
                     }
                 }
             )
+            // console.log(response.headers)
+            // console.log(response.data)
+            // console.log(response.data.data.name)
+            // console.log(response.data.data.uid)
+            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)
             props.handleClose();
             props.openSnackbar();
             }, (error) => {
diff --git a/src/Components/MenuList.js b/src/Components/MenuList.js
index 0402b7e2..910af9cf 100644
--- a/src/Components/MenuList.js
+++ b/src/Components/MenuList.js
@@ -55,6 +55,7 @@ export default function MenuList(props) {
   };
 
   const handleLogout = () => {
+      localStorage.removeItem('@portalmec/username');
       dispatch( {
           type: 'USER_LOGGED_OUT',
           userLoggedOut: !state.userIsLoggedIn,
diff --git a/src/Components/ModalAlterarAvatar.js b/src/Components/ModalAlterarAvatar.js
new file mode 100644
index 00000000..f770ebf1
--- /dev/null
+++ b/src/Components/ModalAlterarAvatar.js
@@ -0,0 +1,119 @@
+/*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, useState} from 'react';
+import { Button } from '@material-ui/core';
+import Modal from '@material-ui/core/Modal';
+import Backdrop from '@material-ui/core/Backdrop';
+import Zoom from '@material-ui/core/Fade';
+import styled from 'styled-components'
+import {Store} from '../Store.js'
+import axios from 'axios'
+import {apiUrl} from '../env';
+import CloseIcon from '@material-ui/icons/Close';
+
+const StyledModal = styled(Modal)`
+    display : flex;
+    flex-direction : column;
+    border-radius : 4px;
+    background-color : #fff;
+    min-width : 560px;
+`
+
+export default function ModarAlterarAvatar (props){
+    const {state, dispatch} = useContext(Store)
+
+    const handleLoginInfo = (login) => {
+        axios.post(`${apiUrl}`,
+            {
+        }
+        ).then( (response) => {
+            dispatch ({
+
+            }, (error) => {
+
+            }
+        )
+    }
+
+
+    return (
+        <>
+        <StyledModal
+            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,
+            }}
+         >
+            <Zoom in={props.open} style={{ transitionDelay :"0.4ms"}}>
+                <HeaderDiv>
+                    <span style={{width:"32px"}}/>
+                        <StyledH2>Editar Foto</StyledH2>
+                        <StyledCloseModalButton onClick={this.props.handleClose}>
+                            <CloseIcon/>
+                        </StyledCloseModalButton>
+                </HeaderDiv>
+                <DialogDiv>
+                </DialogDiv>
+            </Zoom>
+        </StyledModal>
+        </>
+    )
+}
+
+const DialogDiv = styled.div`
+    padding : 20px 30px;
+    overflow : visible !important;
+`
+
+const HeaderDiv = styled.div`
+    display : flex;
+    flex-direction : row;
+    align-items : center;
+    align-content : center;
+    max-width : 100%;
+`
+const StyledH2 = styled.h2`
+    font-size : 26px;
+    font-weight : lighter;
+    margin-top : 20px;
+    margin-bottom : 10px;
+    font-family: inherit;
+    line-height: 1.1;
+    color: inherit;
+`
+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;
+    border-radius : 50%;
+    padding : 8px;
+    height : 40px;
+    margin : 0 6px;
+`
diff --git a/src/Components/SignUpContainer.js b/src/Components/SignUpContainer.js
index c41f3655..21652735 100644
--- a/src/Components/SignUpContainer.js
+++ b/src/Components/SignUpContainer.js
@@ -90,7 +90,7 @@ class SignUpContainer extends Component {
         const { name, email, password } = this.state;
         const errors = validateUserInfo(name, email, password)
         console.log(this.state)
-        if ( errors.length < 0) {
+        if ( errors.length < 1) {
             //pass user info to Store.js and clear all text fields
             this.props.handleLoginInfo(this.state)
             this.setState({
@@ -211,7 +211,7 @@ const ContainerStyled = styled.div`
     display : flex;
     flex-direction : column;
     min-width : 450px;
-    min-height : 690px;
+
     max-height : none;
     position : relative;
     padding : 10px;
diff --git a/src/Components/SignUpModal.js b/src/Components/SignUpModal.js
index 8a9ffb20..cf38fc14 100644
--- a/src/Components/SignUpModal.js
+++ b/src/Components/SignUpModal.js
@@ -88,6 +88,11 @@ export default function SignUpModal (props) {
                     }
                 }
             )
+            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) => {
diff --git a/src/Components/TabPanelAtividades.js b/src/Components/TabPanelAtividades.js
index f65115ca..e26988af 100644
--- a/src/Components/TabPanelAtividades.js
+++ b/src/Components/TabPanelAtividades.js
@@ -1,10 +1,40 @@
-import React, {useContext} from 'react'
+import React, {useContext, useState, useEffect} from 'react'
 import styled from 'styled-components'
 import { Container } from 'react-grid-system'
 import Paper from '@material-ui/core/Paper';
 import Button from '@material-ui/core/Button';
+import axios from 'axios'
+import {apiUrl} from '../env';
 
 export default function TabPanelAtividades (props) {
+    const [notifications, setNotifications] = useState([]);
+    const [notificatonsLength, setLength] = useState(0);
+
+    const config = {
+        headers : {
+            'Accept': 'application/json',
+            'Content-Type': 'application/json',
+            'Access-Token': localStorage.getItem('@portalmec/accessToken'),
+            'Client': localStorage.getItem('@portalmec/clientToken'),
+            'Uid': localStorage.getItem('@portalmec/uid'),
+            'Host': 'api.portalmec.c3sl.ufpr.br',
+            'Cookie': ''
+        }
+    }
+
+    useEffect( () => {
+        axios.get(`${apiUrl}/feed`, config)
+        .then( (response) => {
+                // console.log(response)
+                setNotifications(response)
+                setLength(response.length)
+            },
+            (error) => {
+                console.log('error while running getNotifications')
+            }
+        )
+    }, [])
+
     return (
         <ContainerDivStyled>
             <Paper elevation={3}>
diff --git a/src/Components/TabPanelMeusRecursos.js b/src/Components/TabPanelMeusRecursos.js
index 44e30ab1..d43f9643 100644
--- a/src/Components/TabPanelMeusRecursos.js
+++ b/src/Components/TabPanelMeusRecursos.js
@@ -1,8 +1,10 @@
-import React, {useContext} from 'react'
+import React, {useContext, useState, useEffect} from 'react'
 import styled from 'styled-components'
 import { Container } from 'react-grid-system'
 import Paper from '@material-ui/core/Paper';
 import Button from '@material-ui/core/Button';
+import axios from 'axios'
+import {apiUrl} from '../env';
 
 export default function TabPanelAtividades (props) {
     return (
diff --git a/src/Pages/UserPage.js b/src/Pages/UserPage.js
index f6bd664c..d8fef866 100644
--- a/src/Pages/UserPage.js
+++ b/src/Pages/UserPage.js
@@ -16,7 +16,7 @@ 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 React, {useState, useContext, useEffect} from 'react';
 import styled from 'styled-components'
 import { Container } from 'react-grid-system'
 import Button from '@material-ui/core/Button';
@@ -37,16 +37,50 @@ import TabPanelMeusRecursos from '../Components/TabPanelMeusRecursos.js'
 import TabPanelFavoritos from '../Components/TabPanelFavoritos.js'
 import TabPanelColecoes from '../Components/TabPanelColecoes.js'
 import TabPanelRede from '../Components/TabPanelRede.js'
+import axios from 'axios'
+import {apiUrl} from '../env';
 
 export default function UserPage (props){
     const {state, dispatch} = useContext(Store)
     const [hoverAlterarFoto, handleAlterarFoto] = React.useState(false)
     const [value, setValue] = useState(0);
+    const user = localStorage.getItem('@portalmec/username')
+    const id = localStorage.getItem('@portalmec/id')
 
     const handleHoverAlterarFoto = () => {
         handleAlterarFoto(!hoverAlterarFoto)
     }
 
+    useEffect( () => {
+        axios.get( (`${apiUrl}/users/` + id), {
+            'Accept': 'application/json',
+            'Content-Type': 'application/json',
+            'Host': 'api.portalmec.c3sl.ufpr.br',
+            'Cookie': ''
+        })
+        .then( (response) => {
+                console.log(response)
+                dispatch ({
+                    type : 'USER_ACCESSED_USER_PAGE',
+                    set: {
+                        id : response.data.id,
+                        email : response.data.email,
+                        username : response.data.name,
+                        education : response.data.education,
+                        userAvatar : response.data.avatar,
+                        userCover : response.data.cover,
+                        followCount : response.data.follow_count,
+                        collectionsCount: response.data.collections_count,
+                    }
+                })
+                console.log(state.currentUser)
+            },
+            (error) => {
+                console.log('error while running ComponentDidMout')
+            }
+        )
+    }, [])
+
     const redirect = () => {
         props.history.push('/')
     }
@@ -102,7 +136,7 @@ export default function UserPage (props){
                                                 </ChangeAvatarDiv>
                                             </ProfileAvatarDiv>
                                             <UserProfileInfoDiv>
-                                                <p style={{fontSize:"28px", color:"#fff", marginBottom:"2px", fontWeight:"500"}}>{state.currentUser.username}</p>
+                                                <p style={{fontSize:"28px", color:"#fff", marginBottom:"2px", fontWeight:"500"}}>{user}</p>
                                                 <div style={{fontSize:"14px", color:"#fff", marginBottom:"2px"}}>
                                                     <p>{state.currentUser.education}</p>
                                                 </div>
@@ -116,7 +150,7 @@ export default function UserPage (props){
                                         <CheckTeacherDiv>
                                         <>
                                         {
-                                            state.isCollaborativeTeacher ?
+                                            state.currentUser.isCollaborativeTeacher ?
                                             (
                                                 [
                                                     <>
diff --git a/src/Store.js b/src/Store.js
index 6c19780f..8fc1382a 100644
--- a/src/Store.js
+++ b/src/Store.js
@@ -22,7 +22,7 @@ export const Store = React.createContext()
 
 const initialState = {
   searchOpen: false,
-  userIsLoggedIn : true,
+  userIsLoggedIn : false,
   userAgreedToPublicationTerms: false,
   userAgreedToPublicationPermissions: false,
   modalColaborarPlataformaOpen : false,
@@ -36,14 +36,17 @@ const initialState = {
 },
   currentUser: {
       id : '',
-      username : 'Horstmann',
+      username : '',
       email : '',
       accessToken : '',
       clientToken : '',
       education : '',
       isCollaborativeTeacher : false,
       userAvatar : '',
-      userCover : ''
+      userCover : '',
+      uid : '',
+      followCount : 0,
+      collectionsCount : 0
   }
 }
 
@@ -92,6 +95,11 @@ function reducer(state, action) {
             ...state,
             userAgreedToPublicationPermissions : action.userAgreement
         }
+    case 'USER_ACCESSED_USER_PAGE':
+        return {
+            ...state,
+            currentUser : action.set
+        }
     default:
       return state
   }
-- 
GitLab


From e07330e0b1f70e3e1e87fdc52a3f3b3c014ed545 Mon Sep 17 00:00:00 2001
From: Lucas Schoenfelder <les17@inf.ufpr.br>
Date: Thu, 6 Feb 2020 17:19:53 -0300
Subject: [PATCH 09/29] terminando de adicionar chamadas para as rotas;
 adicionada animacao de carregando e tentando criar o modal de mudar avatar

---
 src/Components/ComponentAlterarAvatar.js | 226 +++++++++++++++++++++++
 src/Components/LoadingSpinner.js         |  11 ++
 src/Components/LoginContainer.js         |  16 +-
 src/Components/LoginContainerFunction.js |   6 +-
 src/Components/LoginModal.js             |  12 +-
 src/Components/ModalAlterarAvatar.js     |  81 +++-----
 src/Components/SignUpContainer.js        |   2 +-
 src/Components/SignUpModal.js            |  18 +-
 src/Components/TabPanelAtividades.js     |  93 +++++++---
 src/Components/TabPanelColecoes.js       | 147 +++++++++++----
 src/Components/TabPanelFavoritos.js      | 181 +++++++++++++-----
 src/Components/TabPanelMeusRecursos.js   | 196 +++++++++++++++-----
 src/Components/TabPanelRede.js           |  10 +-
 src/Pages/UserPage.js                    |  36 +++-
 src/img/Bolo.png                         | Bin 0 -> 394 bytes
 src/img/loading_busca.gif                | Bin 0 -> 10901 bytes
 16 files changed, 787 insertions(+), 248 deletions(-)
 create mode 100644 src/Components/ComponentAlterarAvatar.js
 create mode 100644 src/Components/LoadingSpinner.js
 create mode 100644 src/img/Bolo.png
 create mode 100644 src/img/loading_busca.gif

diff --git a/src/Components/ComponentAlterarAvatar.js b/src/Components/ComponentAlterarAvatar.js
new file mode 100644
index 00000000..3115167a
--- /dev/null
+++ b/src/Components/ComponentAlterarAvatar.js
@@ -0,0 +1,226 @@
+/*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,Component} from 'react';
+import { Button } from '@material-ui/core';
+import Modal from '@material-ui/core/Modal';
+import Backdrop from '@material-ui/core/Backdrop';
+import Zoom from '@material-ui/core/Fade';
+import styled from 'styled-components'
+import {Store} from '../Store.js'
+import axios from 'axios'
+import {apiUrl} from '../env';
+import CloseIcon from '@material-ui/icons/Close';
+import Profile from '../img/default_profile0.png'
+
+const ChangeAvatarDiv = styled.div`
+    color:rgba(255,255,255,.7);
+    background-color:rgba(0,0,0,.5);
+    position: absolute;bottom: 0;
+    width: inherit;
+    text-align: center;
+    font-size: 18px;
+    padding-bottom: 5px;
+    font-weight: 400;
+    height: 30%;
+    cursor: pointer;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+`
+
+export default function ComponentAlterarAvatar (props) {
+
+
+
+        return (
+            <ModalDiv style={{maxWidth:"500px", maxHeight:"500px"}}>
+            <HeaderDiv>
+                <span style={{width:"32px"}}/>
+                    <StyledH2>Editar Foto</StyledH2>
+                    <StyledCloseModalButton onClick={props.handleClose}>
+                        <CloseIcon/>
+                    </StyledCloseModalButton>
+            </HeaderDiv>
+            <DialogDiv>
+                <div style={{marginTop:"0"}}>
+                    <form>
+                        <DivAlterarFoto>
+                            <DivFlowHolder>
+                                <AvatarCircleDiv>
+                                    {
+                                        props.userAvatar == '' || props.userAvatar == null ?
+                                        (
+
+                                            <img src={Profile} alt={'user avatar'} style={{height:"inherit", width:"inherit", objectFit:"cover"}}/>
+                                        ):
+                                        (
+                                            <img src={this.props.userAvatar} alt={'user avatar'} style={{height:"inherit", width:"inherit", objectFit:"cover"}}/>
+                                        )
+                                    }
+                                    <ChangeAvatarDiv>
+                                        <span>Alterar</span>
+                                        <input accept="image/*" id="icon-button-file"
+                                        type="file"
+                                        onChange={(e) => props.handleFile(e.target.files) }/>
+                                    </ChangeAvatarDiv>
+                                </AvatarCircleDiv>
+                            </DivFlowHolder>
+                        </DivAlterarFoto>
+                        <ButtonsDiv>
+                            <ButtonCancelar><span>Cancelar</span></ButtonCancelar><ButtonConfirmar><span>Salvar Alterações</span></ButtonConfirmar>
+                        </ButtonsDiv>
+                    </form>
+                </div>
+            </DialogDiv>
+            </ModalDiv>
+        )
+
+}
+
+const ModalDiv = styled.div`
+    background-color : #fff;
+    border-radius : 4px;
+    min-width : 560px;
+    color : #666;
+    display: flex;
+    flex-direction : column;
+`
+
+const ButtonConfirmar = styled(Button)`
+    color : rgba(255,255,255,0.87);
+    background-color: rgb(0,188,212);
+    display: inline-block;
+    position: relative;
+    cursor: pointer;
+    min-height: 36px;
+    min-width: 88px;
+    line-height: 36px;
+    vertical-align: middle;
+    align-items: center;
+    text-align: center;
+    border-radius: 3px;
+    box-sizing: border-box;
+    user-select: none;
+    border: 0;
+    padding: 0 6px;
+    margin: 6px 8px;
+    background: transparent;
+    background-color: transparent;
+    color: currentColor;
+    white-space: nowrap;
+    text-transform: uppercase;
+    font-weight: 500;
+    font-size: 14px;
+    font-style: inherit;
+    font-variant: inherit;
+    font-family: inherit;
+    text-decoration: none;
+    overflow: hidden;
+`
+
+const ButtonCancelar = styled(Button)`
+    outline : none;
+    display: inline-block;
+    position: relative;
+    cursor: pointer;
+    min-height: 36px;
+    min-width: 88px;
+    line-height: 36px;
+    vertical-align: middle;
+    align-items: center;
+    text-align: center;
+    border-radius: 3px;
+    box-sizing: border-box;
+    user-select: none;
+    border: 0;
+    padding: 0 6px;
+    margin: 6px 8px;
+    background:transparent;
+    color: currentColor;
+    white-space: nowrap;
+    text-transform: uppercase;
+    font-weight: 500;
+    font-size: 14px;
+    font-style: inherit;
+    font-variant: inherit;
+    font-family: inherit;
+    text-decoration: none;
+    overflow: hidden;
+`
+
+const ButtonsDiv = styled.div`
+    display: flex;
+    justify-content:flex-end;
+`
+
+const AvatarCircleDiv = styled.div`
+    margin-bottom : 0;
+    border-radius : 50%;
+    height : 150px;
+    width : 150px;
+    position : relative;
+`
+
+const DivFlowHolder =styled.div`
+    align-self : auto;
+`
+
+const DivAlterarFoto = styled.div`
+    display : flex;
+    margin-bottom : 30px;
+    flex-direction : row;
+    align-items : center;
+    justify-content :center;
+`
+
+const DialogDiv = styled.div`
+    padding : 20px 30px;
+    overflow : visible !important;
+`
+
+const HeaderDiv = styled.div`
+    display : flex;
+    flex-direction : row;
+    align-items : center;
+    align-content : center;
+    justify-content : center;
+    max-width : 100%;
+`
+const StyledH2 = styled.h2`
+    font-size : 26px;
+    font-weight : lighter;
+    margin-top : 20px;
+    margin-bottom : 10px;
+    font-family: inherit;
+    line-height: 1.1;
+    color: inherit;
+`
+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;
+    border-radius : 50%;
+    padding : 8px;
+    height : 40px;
+    margin : 0 6px;
+`
diff --git a/src/Components/LoadingSpinner.js b/src/Components/LoadingSpinner.js
new file mode 100644
index 00000000..ffeec909
--- /dev/null
+++ b/src/Components/LoadingSpinner.js
@@ -0,0 +1,11 @@
+import React from 'react';
+import LoadingGif from '../img/loading_busca.gif'
+
+  const LoadingSpinner = (props) => (
+    <div style={{display:"flex", flexDirection:"column", alignItems:"center", justifyContent:"center"}}>
+      <img src={LoadingGif} />
+      <span style={{textTransform:"uppercase"}}>{props.text}</span>
+    </div>
+  );
+
+  export default LoadingSpinner;
diff --git a/src/Components/LoginContainer.js b/src/Components/LoginContainer.js
index 8546fc4c..ccdc075a 100644
--- a/src/Components/LoginContainer.js
+++ b/src/Components/LoginContainer.js
@@ -36,8 +36,8 @@ class LoginContainer extends Component {
         super(props);
 
         this.state = {
-            email : "",
-            senha : "",
+            email : localStorage.getItem("@portalmec/email") || "",
+            senha : localStorage.getItem("@portalmec/senha") ||"",
             checkboxChecked : false
         };
         this.handleChecked = this.handleChecked.bind(this)
@@ -55,8 +55,9 @@ class LoginContainer extends Component {
 
     onSubmit = (e) => {
         e.preventDefault();
+        const login = this.state
 
-        this.props.handleLoginInfo(this.state);
+        this.props.handleLoginInfo(login);
 
         this.setState({
             email: "",
@@ -65,8 +66,11 @@ class LoginContainer extends Component {
     }
 
     handleChecked = (e) => {
+        const value = !this.state.checkboxChecked
+        console.log(this.state.checkboxChecked)
+        console.log(value)
         this.setState({
-            checkboxChecked : !this.state.checkboxChecked
+            checkboxChecked :value
         })
     }
 
@@ -124,12 +128,12 @@ class LoginContainer extends Component {
                         <br/>
 
                         <RememberRecover>
-                            <LabeledCheckbox label={<StyledLabel><StyledSpan>Lembrar-me</StyledSpan></StyledLabel>} onchange={this.handleChecked} disabledCheckbox={this.state.checkboxChecked}/>
+                            <LabeledCheckbox label={<StyledLabel><StyledSpan>Lembrar-me</StyledSpan></StyledLabel>} handleChange={this.handleChecked} />
                             <UserForgotTheirPasswordSpan>Esqueceu a senha? <a href="recuperar-senha" style={{textAlign: "right", color:"#4cd0e1"}}>Clique aqui!</a></UserForgotTheirPasswordSpan>
                         </RememberRecover>
 
                         <ConfirmContainerStyled>
-                            <StyledLoginButton onClick={e => this.onSubmit(e)} variant="contained">
+                            <StyledLoginButton type="submit" variant="contained">
                                 <span style={{borderRadius:"3px", boxSizing:"border-box", fontFamily:"Roboto, sans serif", fontWeight:"500", color:"#fff"}}>ENTRAR</span>
                             </StyledLoginButton>
                         </ConfirmContainerStyled>
diff --git a/src/Components/LoginContainerFunction.js b/src/Components/LoginContainerFunction.js
index d1a5451b..c55da450 100644
--- a/src/Components/LoginContainerFunction.js
+++ b/src/Components/LoginContainerFunction.js
@@ -122,7 +122,7 @@ export default function LoginContainer (props) {
     }
 
     return (
-
+        <div>
             <ContainerStyled >
                 <DialogHeaderStyled>
                     <span style={{width:"32px"}}/>
@@ -190,7 +190,7 @@ export default function LoginContainer (props) {
                     </DialogFooterStyled>
                 </DialogContentDiv>
             </ContainerStyled>
-
+        </div>
     )
 }
 
@@ -202,7 +202,7 @@ export default function LoginContainer (props) {
     display : flex;
     flex-direction : column;
     min-width : 440px;
-    
+
     align : center;
     padding : 10px;
     border-radius: 4px;
diff --git a/src/Components/LoginModal.js b/src/Components/LoginModal.js
index 26607d36..052084e7 100644
--- a/src/Components/LoginModal.js
+++ b/src/Components/LoginModal.js
@@ -79,14 +79,18 @@ export default function LoginModal (props){
                 }
             )
             // console.log(response.headers)
-            // console.log(response.data)
+             console.log(login)
             // console.log(response.data.data.name)
             // console.log(response.data.data.uid)
             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)
+            sessionStorage.setItem('@portalmec/id', response.data.data.id)
+            sessionStorage.setItem('@portalmec/username', response.data.data.name)
+            sessionStorage.setItem('@portalmec/uid', response.data.data.uid)
+            if (login.checkboxChecked) {
+                localStorage.setItem('@portalmec/email', login.email)
+                localStorage.setItem('@portalmec/senha', login.senha) //MUDAR ISSO ASAP
+            }
             props.handleClose();
             props.openSnackbar();
             }, (error) => {
diff --git a/src/Components/ModalAlterarAvatar.js b/src/Components/ModalAlterarAvatar.js
index f770ebf1..8bd1c57e 100644
--- a/src/Components/ModalAlterarAvatar.js
+++ b/src/Components/ModalAlterarAvatar.js
@@ -20,24 +20,26 @@ import React, {useContext, useState} from 'react';
 import { Button } from '@material-ui/core';
 import Modal from '@material-ui/core/Modal';
 import Backdrop from '@material-ui/core/Backdrop';
-import Zoom from '@material-ui/core/Fade';
+import Fade from '@material-ui/core/Fade';
 import styled from 'styled-components'
 import {Store} from '../Store.js'
 import axios from 'axios'
 import {apiUrl} from '../env';
 import CloseIcon from '@material-ui/icons/Close';
+import Profile from '../img/default_profile0.png'
+import ComponentAlterarAvatar from './ComponentAlterarAvatar.js'
 
 const StyledModal = styled(Modal)`
     display : flex;
-    flex-direction : column;
-    border-radius : 4px;
-    background-color : #fff;
-    min-width : 560px;
+    align-items: center;
+    justify-content : center;
+    text-align : center;
+    padding : 10px !important;
 `
 
 export default function ModarAlterarAvatar (props){
     const {state, dispatch} = useContext(Store)
-
+    const [avatarFile, setFile] = useState('')
     const handleLoginInfo = (login) => {
         axios.post(`${apiUrl}`,
             {
@@ -47,13 +49,18 @@ export default function ModarAlterarAvatar (props){
 
             }, (error) => {
 
-            }
-        )
+                }
+            )
+        })
     }
 
+    const handleFile = (selectorFiles : FileList) => {
+        console.log(selectorFiles)
+        {/*setFile()*/}
+    }
 
     return (
-        <>
+
         <StyledModal
             aria-labelledby="transition-modal-title"
             aria-describedby="transition-modal-description"
@@ -67,53 +74,15 @@ export default function ModarAlterarAvatar (props){
                 timeout: 500,
             }}
          >
-            <Zoom in={props.open} style={{ transitionDelay :"0.4ms"}}>
-                <HeaderDiv>
-                    <span style={{width:"32px"}}/>
-                        <StyledH2>Editar Foto</StyledH2>
-                        <StyledCloseModalButton onClick={this.props.handleClose}>
-                            <CloseIcon/>
-                        </StyledCloseModalButton>
-                </HeaderDiv>
-                <DialogDiv>
-                </DialogDiv>
-            </Zoom>
+            <Fade in={props.open} style={{ transitionDelay :"0.4ms"}}>
+
+                <ComponentAlterarAvatar
+                    userAvatar={state.currentUser.userAvatar}
+                    handleFile={handleFile}
+                    handleClose={props.handleClose}
+                />
+            </Fade>
         </StyledModal>
-        </>
+
     )
 }
-
-const DialogDiv = styled.div`
-    padding : 20px 30px;
-    overflow : visible !important;
-`
-
-const HeaderDiv = styled.div`
-    display : flex;
-    flex-direction : row;
-    align-items : center;
-    align-content : center;
-    max-width : 100%;
-`
-const StyledH2 = styled.h2`
-    font-size : 26px;
-    font-weight : lighter;
-    margin-top : 20px;
-    margin-bottom : 10px;
-    font-family: inherit;
-    line-height: 1.1;
-    color: inherit;
-`
-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;
-    border-radius : 50%;
-    padding : 8px;
-    height : 40px;
-    margin : 0 6px;
-`
diff --git a/src/Components/SignUpContainer.js b/src/Components/SignUpContainer.js
index 21652735..9d01f58d 100644
--- a/src/Components/SignUpContainer.js
+++ b/src/Components/SignUpContainer.js
@@ -176,7 +176,7 @@ class SignUpContainer extends Component {
                         onloadCallback={callback}
                     />
                     <ConfirmContainerStyled>
-                        <StyledSignUpButton onClick={e => this.onSubmit(e)} variant="contained">
+                        <StyledSignUpButton type="submit" variant="contained">
                             <span
                                 style={{paddingLeft:"16px", paddingRight:"16px", borderRadius:"3px", boxSizing:"border-box",
                                     fontFamily:"Roboto, sans serif", fontWeight:"500", color:"#fff"}}
diff --git a/src/Components/SignUpModal.js b/src/Components/SignUpModal.js
index cf38fc14..49386ce7 100644
--- a/src/Components/SignUpModal.js
+++ b/src/Components/SignUpModal.js
@@ -41,23 +41,7 @@ const StyledModalSignUp = styled(Modal)`
 
 `
 
-const useStyles = makeStyles(theme => ({
-  modal: {
-    display: 'flex',
-    alignItems: 'center',
-    justifyContent: 'center',
-    textAlign: "center",
-    maxBlockSize: "350px",
-    width: '100%',
-    minBlockSize: "100px",
-  },
-  paper: {
-    backgroundColor: "theme.palette.background.paper",
-    border: '2px solid #000',
-    boxShadow: " 0px 3px 5px -1px rgba(0,0,0,0.2),0px 5px 8px 0px rgba(0,0,0,0.14),0px 1px 14px 0px rgba(0,0,0,0.12);",
-    align:"center",
-  },
-}));
+
 
 export default function SignUpModal (props) {
     const { state, dispatch } = useContext(Store)
diff --git a/src/Components/TabPanelAtividades.js b/src/Components/TabPanelAtividades.js
index e26988af..074c12ed 100644
--- a/src/Components/TabPanelAtividades.js
+++ b/src/Components/TabPanelAtividades.js
@@ -5,29 +5,22 @@ import Paper from '@material-ui/core/Paper';
 import Button from '@material-ui/core/Button';
 import axios from 'axios'
 import {apiUrl} from '../env';
+import Bolo from '../img/Bolo.png'
+import LoadingSpinner from './LoadingSpinner.js'
 
 export default function TabPanelAtividades (props) {
     const [notifications, setNotifications] = useState([]);
     const [notificatonsLength, setLength] = useState(0);
-
-    const config = {
-        headers : {
-            'Accept': 'application/json',
-            'Content-Type': 'application/json',
-            'Access-Token': localStorage.getItem('@portalmec/accessToken'),
-            'Client': localStorage.getItem('@portalmec/clientToken'),
-            'Uid': localStorage.getItem('@portalmec/uid'),
-            'Host': 'api.portalmec.c3sl.ufpr.br',
-            'Cookie': ''
-        }
-    }
+    const [loading, handleLoading] = useState(true)
 
     useEffect( () => {
-        axios.get(`${apiUrl}/feed`, config)
+        axios.get(`${apiUrl}/feed`, props.config)
         .then( (response) => {
-                // console.log(response)
-                setNotifications(response)
-                setLength(response.length)
+                handleLoading(false)
+                console.log(response)
+                setNotifications(response.data)
+                console.log(response.data.length)
+                setLength(response.data.length)
             },
             (error) => {
                 console.log('error while running getNotifications')
@@ -36,6 +29,7 @@ export default function TabPanelAtividades (props) {
     }, [])
 
     return (
+
         <ContainerDivStyled>
             <Paper elevation={3}>
                 <div>
@@ -46,17 +40,74 @@ export default function TabPanelAtividades (props) {
                             </TituloContent>
                         </InnerDivTitulo>
                     </DivTitulo>
-                    {/*some sort of map with a list of notifications idk what though*/}
-                    <div>
-                        <LoadMoreButton><span>CARREGAR MAIS 4</span></LoadMoreButton>
-                        <LoadMoreButton><span>CARREGAR MAIS 20</span></LoadMoreButton>
-                    </div>
+                    {
+                        loading ?
+                        (
+                            <LoadingSpinner text={'Carregando Atividades'}/>
+                        )
+                        :
+                        (
+                            [
+                                <div>
+                                {
+                                    notificatonsLength == 0 ?
+                                    (
+                                        [
+                                            <NoNotificationsDiv>
+                                            <div>
+                                            <div>
+                                            <H3Styled><img src={Bolo} alt='bolo' style={{width:"23px"}}/>  Você se cadastrou na Plataforma</H3Styled>
+                                            </div>
+                                            <p
+                                            style={{fontSize:"15px", fontWeight:"lighter", margin:"0 0 10px", display:"flex", justifyContent:"center", textAlign:"center"}}
+                                            >Construa conosco a plataforma e amplie sua rede de conhecimento interagindo
+                                            <br/>
+                                            com pessoas envolvidas com experiências que ocorrem em todo o Brasil!
+                                            </p>
+
+                                            </div>
+                                            </NoNotificationsDiv>
+                                        ]
+                                    )
+                                    :
+                                    (
+                                        [   <>
+                                            {/*some sort of map with a list of notifications idk what though*/}
+                                            <LoadMoreButton><span>CARREGAR MAIS 4</span></LoadMoreButton>
+                                            <LoadMoreButton><span>CARREGAR MAIS 20</span></LoadMoreButton>
+                                            </>
+                                        ]
+                                    )
+                                }
+                                </div>
+
+                            ]
+                        )
+                }
                 </div>
             </Paper>
         </ContainerDivStyled>
     )
 }
 
+const H3Styled = styled.h3`
+    font-size: 24px;
+    font-weight : lighter;
+    color : #00bcd4;
+    margin-top : 20px;
+    margin-bottom : 10px;
+    display : flex;
+    justify-content : center;
+    align-items : center;
+`
+
+const NoNotificationsDiv = styled.div`
+    height : 250px;
+    display: flex;
+    align-items : center;
+    justify-content : center;
+`
+
 const LoadMoreButton = styled(Button)`
     outline : none !important;
     display : inline-block !important;
diff --git a/src/Components/TabPanelColecoes.js b/src/Components/TabPanelColecoes.js
index 85d97654..b865f48b 100644
--- a/src/Components/TabPanelColecoes.js
+++ b/src/Components/TabPanelColecoes.js
@@ -1,44 +1,123 @@
-import React, {useContext} from 'react'
+import React, {useContext, useState, useEffect} from 'react'
 import styled from 'styled-components'
 import { Container } from 'react-grid-system'
 import Paper from '@material-ui/core/Paper';
 import Button from '@material-ui/core/Button';
 import {ButtonMostrarTodos, ButtonMostrarMais, BtnAlinhaRecPvt, DivContainerRecursosPublicados, ContainerDivStyled, DivTitulo, StyledP, StyledHR} from './TabPanelMeusRecursos.js'
+import {NoPubSpan, DivConteudoNaoPublicado, DivTextoNoPublications} from './TabPanelMeusRecursos.js'
+import LoadingSpinner from './LoadingSpinner.js'
+import axios from 'axios'
+import {apiUrl} from '../env';
 
 export default function TabPanelColecoes (props) {
+    const [loading, handleLoading] = useState(true)
+
+    const [userCollections, setuserCollections] = useState([])
+    const [userCollectionsLength, setuserCollectionsLength] = useState(0)
+
+    const [followedCollections, setFollowedCollections] = useState([])
+    const [followedCollectionsLength, setfollowedCollectionsLength] = useState(0)
+
+    useEffect( () => {
+        axios.all([
+            axios.get((`${apiUrl}/users/` + props.id + '/collections'), props.config),
+            axios.get((`${apiUrl}/users/` + props.id + '/following/Collection'), props.config),
+        ])
+        .then( (responseArr) => {
+                handleLoading(false)
+                console.log(responseArr)
+                console.log(responseArr[0].data)
+                console.log(responseArr[1].data)
+            },
+            (error) => {
+                handleLoading(false)
+                console.log('error while running axios all')
+            }
+        )
+    }, [])
+
     return (
-        <React.Fragment>
-            <ContainerDivStyled>
-                <Paper elevation={3}>
-                        <DivTitulo>
-                            <StyledP>Minhas Coleções <b style={{fontWeight:"700", fontSize:"20px"}}>(2)</b></StyledP>
-                            <StyledHR/>
-                        </DivTitulo>
-                        <div style={{height : "400px"}}> //REMOVER ISSO
-                            <DivContainerRecursosPublicados>
-                            </DivContainerRecursosPublicados>
-                            <BtnAlinhaRecPvt>
-                                <p style={{margin:"0 0 10px", fontSize:"14px"}}>Carregados 2 de 2</p>
-                            </BtnAlinhaRecPvt>
-                        </div>
-                </Paper>
-            </ContainerDivStyled>
-
-            <ContainerDivStyled>
-                <Paper elevation={3}>
-                        <DivTitulo>
-                            <StyledP>Coleções que eu sigo <b style={{fontWeight:"700", fontSize:"20px"}}>(4)</b></StyledP>
-                            <StyledHR/>
-                        </DivTitulo>
-                        <div style={{height : "400px"}}> //REMOVER ISSO
-                            <DivContainerRecursosPublicados>
-                            </DivContainerRecursosPublicados>
-                            <BtnAlinhaRecPvt>
-                                <p style={{margin:"0 0 10px", fontSize:"14px"}}>Carregados 4 de 4</p>
-                            </BtnAlinhaRecPvt>
-                        </div>
-                </Paper>
-            </ContainerDivStyled>
-        </React.Fragment>
+        <>
+        {
+            loading ?
+            (
+                <LoadingSpinner text={'CARREGANDO COLEÇÕES'}/>
+
+            )
+            :
+            (
+                [
+                    <React.Fragment>
+                        <ContainerDivStyled>
+                            <Paper elevation={3}>
+                                    <DivTitulo>
+                                        <StyledP>Minhas Coleções <b style={{fontWeight:"700", fontSize:"20px"}}>({userCollectionsLength})</b></StyledP>
+                                        <StyledHR/>
+                                    </DivTitulo>
+                                    <div style={{height : "400px"}}>
+                                    {
+                                        userCollectionsLength == 0 ?
+                                        (
+                                            [
+                                                <span>Adicionar tela "criar colecao" e a imagem</span>
+                                            ]
+                                        )
+                                        :
+                                        (
+                                            <>
+                                            <DivContainerRecursosPublicados>
+                                            </DivContainerRecursosPublicados>
+                                            <BtnAlinhaRecPvt>
+                                                <p style={{margin:"0 0 10px", fontSize:"14px"}}>Carregados 2 de 2</p>
+                                            </BtnAlinhaRecPvt>
+                                            </>
+                                        )
+                                    }
+
+                                    </div>
+                            </Paper>
+                        </ContainerDivStyled>
+
+                        <ContainerDivStyled>
+                            <Paper elevation={3}>
+                                    <DivTitulo>
+                                        <StyledP>Coleções que eu sigo <b style={{fontWeight:"700", fontSize:"20px"}}>({followedCollectionsLength})</b></StyledP>
+                                        <StyledHR/>
+                                    </DivTitulo>
+                                    <div style={{height : "400px"}}>
+                                        {
+                                            followedCollectionsLength == 0 ?
+                                            (
+                                                [
+                                                    <>
+                                                    <DivTextoNoPublications>
+                                                    <DivConteudoNaoPublicado>
+                                                    <NoPubSpan>Você ainda não segue nenhuma coleção.</NoPubSpan>
+                                                    </DivConteudoNaoPublicado>
+                                                    </DivTextoNoPublications>
+                                                    </>
+                                                ]
+                                            )
+                                            :
+                                            (
+                                                [
+                                                    <>
+                                                    <DivContainerRecursosPublicados>
+                                                    </DivContainerRecursosPublicados>
+                                                    <BtnAlinhaRecPvt>
+                                                        <p style={{margin:"0 0 10px", fontSize:"14px"}}>Carregados 4 de 4</p>
+                                                    </BtnAlinhaRecPvt>
+                                                    </>
+                                                ]
+                                            )
+                                        }
+                                    </div>
+                            </Paper>
+                        </ContainerDivStyled>
+                    </React.Fragment>
+                ]
+            )
+        }
+        </>
     )
 }
diff --git a/src/Components/TabPanelFavoritos.js b/src/Components/TabPanelFavoritos.js
index 1615309d..71c3e50a 100644
--- a/src/Components/TabPanelFavoritos.js
+++ b/src/Components/TabPanelFavoritos.js
@@ -1,57 +1,148 @@
-import React, {useContext} from 'react'
+import React, {useContext, useState, useEffect} from 'react'
 import styled from 'styled-components'
 import { Container } from 'react-grid-system'
 import Paper from '@material-ui/core/Paper';
 import Button from '@material-ui/core/Button';
+import axios from 'axios'
+import {apiUrl} from '../env';
 import {ButtonMostrarTodos, ButtonMostrarMais, BtnAlinhaRecPvt, DivContainerRecursosPublicados, ContainerDivStyled, DivTitulo, StyledP, StyledHR} from './TabPanelMeusRecursos.js'
+import {NoPubSpan, DivConteudoNaoPublicado, DivTextoNoPublications} from './TabPanelMeusRecursos.js'
+import LoadingSpinner from './LoadingSpinner.js'
 
 export default function TabPanelFavoritos (props) {
+    const [loading, handleLoading] = useState(true)
+
+    const [likedLearnObjs, setlikedLearnObjs] = useState([])
+    const [likedLearnObjsLength, setlikedLearnObjsLength] = useState(0)
+
+    const [likedCollections, setlikedCollections] = useState([])
+    const [likedCollectionsLength, setlikedCollectionsLength] = useState(0)
+
+    useEffect( () => {
+        axios.all([
+            axios.get((`${apiUrl}/users/` + props.id + '/learning_objects/liked'), props.config),
+            axios.get((`${apiUrl}/users/` + props.id + '/collections/liked'), props.config),
+        ])
+        .then( (responseArr) => {
+                handleLoading(false)
+                console.log(responseArr)
+                console.log(responseArr[0].data)
+                console.log(responseArr[1].data)
+            },
+            (error) => {
+                handleLoading(false)
+                console.log('error while running axios all')
+            }
+        )
+    }, [])
+
     return (
-        <React.Fragment>
-            <ContainerDivStyled>
-                <Paper elevation={3}>
-                        <DivTitulo>
-                            <StyledP>Recursos Favoritados <b style={{fontWeight:"700", fontSize:"20px"}}>(43)</b></StyledP>
-                            <StyledHR/>
-                        </DivTitulo>
-                        <div style={{height : "400px"}}> //REMOVER ISSO
-                            <DivContainerRecursosPublicados>
-                            </DivContainerRecursosPublicados>
-                            <BtnAlinhaRecPvt>
-                                <p style={{margin:"0 0 10px", fontSize:"14px"}}>Carregados 4 de 7</p>
-                                <ButtonMostrarMais>
-                                    <span style={{color:"#fff", fontSize:"14px", fontWeight:"500"}}>MOSTRAR MAIS</span>
-                                </ButtonMostrarMais>
-                                <ButtonMostrarTodos>
-                                    <span style={{color:"#666", fontSize:"14px", fontWeight:"500"}}>MOSTRAR TODOS</span>
-                                </ButtonMostrarTodos>
-                            </BtnAlinhaRecPvt>
-                        </div>
-                </Paper>
-            </ContainerDivStyled>
+        <>
+        {
+            loading?
+            (
+                <LoadingSpinner text={'CARREGANDO...'}/>
+            )
+            :
+            (
+                [
+                    <React.Fragment>
+                        <ContainerDivStyled>
+                            <Paper elevation={3}>
+                                    <DivTitulo>
+                                        <StyledP>Recursos Favoritados <b style={{fontWeight:"700", fontSize:"20px"}}>({likedLearnObjsLength})</b></StyledP>
+                                        <StyledHR/>
+                                    </DivTitulo>
+                                    <div style={{height : "400px"}}>
+                                        {
+                                            likedLearnObjsLength == 0 ?
+                                            (
+                                                [
+                                                    <>
+                                                    <DivTextoNoPublications>
+                                                    <DivConteudoNaoPublicado>
+                                                    <NoPubSpan>Você ainda não curtiu nenhum Recurso.</NoPubSpan>
+                                                    <p style={{fontFamily:"Roboto",fontSize:"16px"}}>Quando você favorita um recurso ele aparece nesta seção. Além disso, você
+                                                    <br/>
+                                                    aumenta o prestígio dele na Plataforma. Para favoritar, basta clicar no ícone de
+                                                    <br/>
+                                                    coração que aparece nos Recursos.
+                                                    </p>
+                                                    </DivConteudoNaoPublicado>
+                                                    </DivTextoNoPublications>
+                                                    </>
+                                                ]
+                                            )
+                                            :
+                                            (
+                                                [
+                                                    <>
+                                                        <DivContainerRecursosPublicados>
+                                                        </DivContainerRecursosPublicados>
+                                                        <BtnAlinhaRecPvt>
+                                                            <p style={{margin:"0 0 10px", fontSize:"14px"}}>Carregados 4 de 7</p>
+                                                            <ButtonMostrarMais>
+                                                                <span style={{color:"#fff", fontSize:"14px", fontWeight:"500"}}>MOSTRAR MAIS</span>
+                                                            </ButtonMostrarMais>
+                                                            <ButtonMostrarTodos>
+                                                                <span style={{color:"#666", fontSize:"14px", fontWeight:"500"}}>MOSTRAR TODOS</span>
+                                                            </ButtonMostrarTodos>
+                                                        </BtnAlinhaRecPvt>
+                                                    </>
+                                                ]
+                                            )
+                                        }
+                                    </div>
+                            </Paper>
+                        </ContainerDivStyled>
 
-            <ContainerDivStyled>
-                <Paper elevation={3}>
-                        <DivTitulo>
-                            <StyledP>Recursos Favoritados <b style={{fontWeight:"700", fontSize:"20px"}}>(43)</b></StyledP>
-                            <StyledHR/>
-                        </DivTitulo>
-                        <div style={{height : "400px"}}> //REMOVER ISSO
-                            <DivContainerRecursosPublicados>
-                            </DivContainerRecursosPublicados>
-                            <BtnAlinhaRecPvt>
-                                <p style={{margin:"0 0 10px", fontSize:"14px"}}>Carregados 4 de 7</p>
-                                <ButtonMostrarMaisColecao>
-                                    <span style={{color:"#fff", fontSize:"14px", fontWeight:"500"}}>MOSTRAR MAIS</span>
-                                </ButtonMostrarMaisColecao>
-                                <ButtonMostrarTodos>
-                                    <span style={{color:"#666", fontSize:"14px", fontWeight:"500"}}>MOSTRAR TODOS</span>
-                                </ButtonMostrarTodos>
-                            </BtnAlinhaRecPvt>
-                        </div>
-                </Paper>
-            </ContainerDivStyled>
-        </React.Fragment>
+                        <ContainerDivStyled>
+                            <Paper elevation={3}>
+                                    <DivTitulo>
+                                        <StyledP>Coleções Favoritadas <b style={{fontWeight:"700", fontSize:"20px"}}>({likedCollectionsLength})</b></StyledP>
+                                        <StyledHR/>
+                                    </DivTitulo>
+                                    <div style={{height : "400px"}}>
+                                        {
+                                            likedCollectionsLength  == 0 ?
+                                            (
+                                                [
+                                                    <>
+                                                    <DivTextoNoPublications>
+                                                    <DivConteudoNaoPublicado>
+                                                    <NoPubSpan>Você ainda não curtiu nenhuma coleção.</NoPubSpan>
+                                                    </DivConteudoNaoPublicado>
+                                                    </DivTextoNoPublications>
+                                                    </>
+                                                ]
+                                            )
+                                            :
+                                            (
+                                                [
+                                                    <>
+                                                    <DivContainerRecursosPublicados>
+                                                    </DivContainerRecursosPublicados>
+                                                    <BtnAlinhaRecPvt>
+                                                        <p style={{margin:"0 0 10px", fontSize:"14px"}}>Carregados 4 de 7</p>
+                                                        <ButtonMostrarMaisColecao>
+                                                            <span style={{color:"#fff", fontSize:"14px", fontWeight:"500"}}>MOSTRAR MAIS</span>
+                                                        </ButtonMostrarMaisColecao>
+                                                        <ButtonMostrarTodos>
+                                                            <span style={{color:"#666", fontSize:"14px", fontWeight:"500"}}>MOSTRAR TODOS</span>
+                                                        </ButtonMostrarTodos>
+                                                    </BtnAlinhaRecPvt>
+                                                    </>
+                                                ]
+                                            )
+                                        }
+                                    </div>
+                            </Paper>
+                        </ContainerDivStyled>
+                    </React.Fragment>
+                ]
+            )
+        }
+        </>
     )
 }
 
diff --git a/src/Components/TabPanelMeusRecursos.js b/src/Components/TabPanelMeusRecursos.js
index d43f9643..1f2b432b 100644
--- a/src/Components/TabPanelMeusRecursos.js
+++ b/src/Components/TabPanelMeusRecursos.js
@@ -5,66 +5,160 @@ import Paper from '@material-ui/core/Paper';
 import Button from '@material-ui/core/Button';
 import axios from 'axios'
 import {apiUrl} from '../env';
+import LoadingSpinner from './LoadingSpinner.js'
 
 export default function TabPanelAtividades (props) {
+    const [loading, handleLoading] = useState(true)
+
+    const [learningObjects, setLearningObjects] = useState([]);
+    const [learningObjectsLength, setLengthLearnObj] = useState(0);
+
+    const [drafts, setDrafts] = useState([]);
+    const [draftsLength, setLengthDrafts] = useState(0);
+
+    const [curating, setCurating] = useState([]);
+    const [curatingLength, setLengthCurating] = useState(0);
+
+    useEffect( () => {
+        axios.all([
+            axios.get((`${apiUrl}/users/` + props.id + '/learning_objects'), props.config),
+            axios.get((`${apiUrl}/users/` + props.id + '/drafts'), props.config),
+            axios.get((`${apiUrl}/users/` + props.id + '/submissions?stats=submitted'), props.config)
+        ])
+        .then( (responseArr) => {
+                handleLoading(false)
+                console.log(responseArr)
+                console.log(responseArr[0].data)
+                console.log(responseArr[1].data)
+                console.log(responseArr[2].data)
+
+            },
+            (error) => {
+                handleLoading(false)
+                console.log('error while running axios all')
+            }
+        )
+    }, [])
+
+
     return (
-        <React.Fragment>
-            <ContainerDivStyled>
-                <Paper elevation={3}>
-
-                        <DivTitulo>
-                            <StyledP>Recurso Publicado <b style={{fontWeight:"700", fontSize:"20px"}}>(0)</b></StyledP>
-                            <StyledHR/>
-                        </DivTitulo>
-                        <div>
-                            <DivTextoNoPublications>
+        <>
+            {
+                loading ?
+                (
+                    <LoadingSpinner text={'Carregando Recursos'}/>
+                )
+                :
+                ([
+                    <React.Fragment>
+                    <ContainerDivStyled>
+                    <Paper elevation={3}>
+
+                    <DivTitulo>
+                    <StyledP>Recurso Publicado <b style={{fontWeight:"700", fontSize:"20px"}}>({learningObjectsLength})</b></StyledP>
+                    <StyledHR/>
+                    </DivTitulo>
+                    <div>
+                    {
+                        learningObjectsLength == 0 ?
+                        (
+                            [
+                                <>
+                                <DivTextoNoPublications>
                                 <DivConteudoNaoPublicado>
-                                    <NoPubSpan>Você ainda não publicou nenhum Recurso!</NoPubSpan>
+                                <NoPubSpan>Você ainda não publicou nenhum Recurso!</NoPubSpan>
                                 </DivConteudoNaoPublicado>
-                            </DivTextoNoPublications>
-                        </div>
-                </Paper>
-            </ContainerDivStyled>
-
-            <ContainerDivStyled>
-                <Paper elevation={3}>
-                        <DivTitulo>
-                            <StyledP>Rascunhos<b style={{fontWeight:"700", fontSize:"20px"}}>(7)</b></StyledP>
-                            <StyledHR/>
-                        </DivTitulo>
-                        <div style={{height : "400px"}}> //REMOVER ISSO
-                            <DivContainerRecursosPublicados>
-                            </DivContainerRecursosPublicados>
-                            <BtnAlinhaRecPvt>
+                                </DivTextoNoPublications>
+                                </>
+                            ]
+                        )
+                        :
+                        (
+                            <>
+                            {/**some sort of map with a list of notifications idk what though**/}
+                            <span>stuff goes here</span>
+                            </>
+                        )
+
+                    }
+                    </div>
+                    </Paper>
+                    </ContainerDivStyled>
+
+                    <ContainerDivStyled>
+                    <Paper elevation={3}>
+                    <DivTitulo>
+                    <StyledP>Rascunhos <b style={{fontWeight:"700", fontSize:"20px"}}>({draftsLength})</b></StyledP>
+                    <StyledHR/>
+                    </DivTitulo>
+                    <div style={{height : "400px"}}>
+                    {
+                        draftsLength == 0 ?
+                        (
+                            [
+                                <>
+                                <DivTextoNoPublications>
+                                <DivConteudoNaoPublicado>
+                                <NoPubSpan>Você não tem nenhum recurso sendo editado.</NoPubSpan>
+                                </DivConteudoNaoPublicado>
+                                </DivTextoNoPublications>
+                                </>
+                            ]
+                        )
+                        : (
+                            [
+                                <>
+                                <DivContainerRecursosPublicados>
+                                </DivContainerRecursosPublicados>
+                                <BtnAlinhaRecPvt>
                                 <p style={{margin:"0 0 10px", fontSize:"14px"}}>Carregados 4 de 7</p>
                                 <ButtonMostrarMais>
-                                    <span style={{color:"#fff", fontSize:"14px", fontWeight:"500"}}>MOSTRAR MAIS</span>
+                                <span style={{color:"#fff", fontSize:"14px", fontWeight:"500"}}>MOSTRAR MAIS</span>
                                 </ButtonMostrarMais>
                                 <ButtonMostrarTodos>
-                                    <span style={{color:"#666", fontSize:"14px", fontWeight:"500"}}>MOSTRAR TODOS</span>
+                                <span style={{color:"#666", fontSize:"14px", fontWeight:"500"}}>MOSTRAR TODOS</span>
                                 </ButtonMostrarTodos>
-                            </BtnAlinhaRecPvt>
-                        </div>
-                </Paper>
-            </ContainerDivStyled>
-
-            <ContainerDivStyled>
-                <Paper elevation={3}>
-
-                        <DivTitulo>
-                            <StyledP>Recurso sendo avaliado pela curadoria <b style={{fontWeight:"700", fontSize:"20px"}}>(0)</b></StyledP>
-                            <StyledHR/>
-                        </DivTitulo>
-                        <div>
+                                </BtnAlinhaRecPvt>
+                                </>
+                            ]
+                        )
+                    }
+                    </div>
+                    </Paper>
+                    </ContainerDivStyled>
+
+                    <ContainerDivStyled>
+                    <Paper elevation={3}>
+
+                    <DivTitulo>
+                    <StyledP>Recurso sendo avaliado pela curadoria <b style={{fontWeight:"700", fontSize:"20px"}}>({curatingLength})</b></StyledP>
+                    <StyledHR/>
+                    </DivTitulo>
+                    <div>
+                    {
+                        curatingLength == 0 ?
+                        (
                             <DivTextoNoPublications>
-                                <DivConteudoNaoPublicado>
-                                    <NoPubSpan>Você não tem nenhum recurso sendo avaliado pelos curadores.</NoPubSpan>
-                                </DivConteudoNaoPublicado>
+                            <DivConteudoNaoPublicado>
+                            <NoPubSpan>Você não tem nenhum recurso sendo avaliado pelos curadores.</NoPubSpan>
+                            </DivConteudoNaoPublicado>
                             </DivTextoNoPublications>
-                        </div>
-                </Paper>
-            </ContainerDivStyled>
-        </React.Fragment>
+                        )
+                        :
+                        (
+                            <>
+                            {/**some sort of map with a list of notifications idk what though**/}
+                            <span>stuff goes here</span>
+                            </>
+                        )
+                    }
+                    </div>
+                    </Paper>
+                    </ContainerDivStyled>
+                    </React.Fragment>
+                ])
+            }
+            </>
     )
 }
 
@@ -118,19 +212,19 @@ export const DivContainerRecursosPublicados = styled.div`
     padding-left : 15px;
 `
 
-const NoPubSpan = styled.span`
+export const NoPubSpan = styled.span`
     font-size : 24px;
     font-family : Roboto;
     font-weight : lighter;
 `
 
-const DivConteudoNaoPublicado = styled.div`
+export const DivConteudoNaoPublicado = styled.div`
     position : relative;
     top : 50%;
     transform : translateY(-50%);
 `
 
-const DivTextoNoPublications = styled.div`
+export const DivTextoNoPublications = styled.div`
     height : 360px;
     text-align : center;
     width : 100%;
diff --git a/src/Components/TabPanelRede.js b/src/Components/TabPanelRede.js
index cebbf197..e3f3aa61 100644
--- a/src/Components/TabPanelRede.js
+++ b/src/Components/TabPanelRede.js
@@ -1,11 +1,15 @@
-import React, {useContext} from 'react'
+import React, {useContext, useState, useEffect} from 'react'
 import styled from 'styled-components'
 import { Container } from 'react-grid-system'
 import Paper from '@material-ui/core/Paper';
 import Button from '@material-ui/core/Button';
 import {ButtonMostrarTodos, ButtonMostrarMais, BtnAlinhaRecPvt, DivContainerRecursosPublicados, ContainerDivStyled, DivTitulo, StyledP, StyledHR} from './TabPanelMeusRecursos.js'
+import axios from 'axios'
+import {apiUrl} from '../env';
 
 export default function TabPanelRede (props) {
+    
+
     return (
         <React.Fragment>
             <ContainerDivStyled>
@@ -14,7 +18,7 @@ export default function TabPanelRede (props) {
                             <StyledP>Seguidor <b style={{fontWeight:"700", fontSize:"20px"}}>(1)</b></StyledP>
                             <StyledHR/>
                         </DivTitulo>
-                        <div style={{height : "400px"}}> //REMOVER ISSO
+                        <div style={{height : "400px"}}>
                             <DivContainerRecursosPublicados>
                             </DivContainerRecursosPublicados>
                             <BtnAlinhaRecPvt>
@@ -30,7 +34,7 @@ export default function TabPanelRede (props) {
                             <StyledP>Seguindo <b style={{fontWeight:"700", fontSize:"20px"}}>(1)</b></StyledP>
                             <StyledHR/>
                         </DivTitulo>
-                        <div style={{height : "400px"}}> //REMOVER ISSO
+                        <div style={{height : "400px"}}>
                             <DivContainerRecursosPublicados>
                             </DivContainerRecursosPublicados>
                             <BtnAlinhaRecPvt>
diff --git a/src/Pages/UserPage.js b/src/Pages/UserPage.js
index d8fef866..e39dbe78 100644
--- a/src/Pages/UserPage.js
+++ b/src/Pages/UserPage.js
@@ -39,6 +39,7 @@ import TabPanelColecoes from '../Components/TabPanelColecoes.js'
 import TabPanelRede from '../Components/TabPanelRede.js'
 import axios from 'axios'
 import {apiUrl} from '../env';
+import ModarAlterarAvatar from '../Components/ModalAlterarAvatar.js'
 
 export default function UserPage (props){
     const {state, dispatch} = useContext(Store)
@@ -46,6 +47,23 @@ export default function UserPage (props){
     const [value, setValue] = useState(0);
     const user = localStorage.getItem('@portalmec/username')
     const id = localStorage.getItem('@portalmec/id')
+    const [modalOpen, handleModal] = useState(false)
+
+    const config = {
+        headers : {
+            'Accept': 'application/json',
+            'Content-Type': 'application/json',
+            'Access-Token': localStorage.getItem('@portalmec/accessToken'),
+            'Client': localStorage.getItem('@portalmec/clientToken'),
+            'Uid': sessionStorage.getItem('@portalmec/uid'),
+            'Host': 'api.portalmec.c3sl.ufpr.br',
+            'Cookie': ''
+        }
+    }
+
+    const modalControl = () => {
+        handleModal(!modalOpen)
+    }
 
     const handleHoverAlterarFoto = () => {
         handleAlterarFoto(!hoverAlterarFoto)
@@ -97,6 +115,10 @@ export default function UserPage (props){
             (
                 [
                     <React.Fragment>
+                        <ModarAlterarAvatar
+                            open={modalOpen}
+                            handleClose={modalControl}
+                        />
                         <HeaderDiv>
                             <ContainerNoPad>
                                 <BreadcrumbsDiv>
@@ -129,7 +151,7 @@ export default function UserPage (props){
                                                     </Tooltip>
                                                 </label>
                                             </CoverContainer>
-                                            <ProfileAvatarDiv onMouseEnter={handleHoverAlterarFoto} onMouseLeave={handleHoverAlterarFoto}>
+                                            <ProfileAvatarDiv onMouseEnter={handleHoverAlterarFoto} onMouseLeave={handleHoverAlterarFoto} onClick={modalControl}>
                                                 <img src={state.currentUser.userAvatar} alt = "user avatar" style={{border:"0", verticalAlign:"middle"}}/>
                                                 <ChangeAvatarDiv  style={ {display : hoverAlterarFoto ? 'flex' : 'none'}}>
                                                     <span>Alterar Foto</span>
@@ -198,11 +220,11 @@ export default function UserPage (props){
                                     </Paper>
                                 </MainContainerDesktop>
                                 </div>
-                                {value === 0 && <TabPanelAtividades/>}
-                                {value === 1 && <TabPanelMeusRecursos/>}
-                                {value === 2 && <TabPanelFavoritos/>}
-                                {value === 3 && <TabPanelColecoes/>}
-                                {value === 4 && <TabPanelRede/>}
+                                {value === 0 && <TabPanelAtividades id={id} config={config}/>}
+                                {value === 1 && <TabPanelMeusRecursos id={id} config={config}/>}
+                                {value === 2 && <TabPanelFavoritos id={id} config={config}/>}
+                                {value === 3 && <TabPanelColecoes id={id} config={config}/>}
+                                {value === 4 && <TabPanelRede id={id} config={config}/>}
                             </ContainerNoPad>
                         </HeaderDiv>
                     </React.Fragment>
@@ -279,7 +301,7 @@ export default function UserPage (props){
     outline : 0;
     cursor : pointer;
   `
-  const ChangeAvatarDiv = styled.div`
+  export const ChangeAvatarDiv = styled.div`
   height : 40px;
   position: absolute;
   width : 100%;
diff --git a/src/img/Bolo.png b/src/img/Bolo.png
new file mode 100644
index 0000000000000000000000000000000000000000..509d2acae8705430a4707bb88fc07bd04ae33999
GIT binary patch
literal 394
zcmV;50d@X~P)<h;3K|Lk000e1NJLTq000vJ000*V1^@s6>A`f`00009a7bBm000XU
z000XU0RWnu7ytkO8FWQhbW?9;ba!ELWdK2BZ(?O2No`?gWm08fWO;GPWjp`?0T)R`
zK~#9!%v8Y<f-n#S8<4kt@a;o7fUyEgh#jN^?7$MB0%<_S4tVGvAO5uhyki!}VG;tG
zalDxwa&wo>v3H46Rh83)$^PsUa#J2-<d`icgww-Cni5@R)EN;(^f|(P5d7P6e%Ixj
zDid$(F=5q}Y$EeozW)u`7Qe@KB_tnf2Hm*2fV9d@4d~O&jGI8Du?@1`R{thWmFU<|
zV=X1gkhwJ7-0q!)!e%2>WW$72&2(gILaK?Sx)_t?3Zjez6^czM#8$;hZh!~f0!(~?
z0}5<v5AZ8SzQBFu!xJXsu_!?z5o|`}geQn&5!Q>=^~zC5T^T!}1^qWa>E?fsB^G%2
o&C8mL9w=VbAy(38lurQ$07q<+GPoGwnE(I)07*qoM6N<$f@Uk9nE(I)

literal 0
HcmV?d00001

diff --git a/src/img/loading_busca.gif b/src/img/loading_busca.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3ce6d59693025fbd428c063f7f565a858c20d4db
GIT binary patch
literal 10901
zcmd6NcT`i`)^F$#dT)XufdHX|PC!7Zk^mmXLJ_5gE+934N|z9N@4biKJJO|h0TB=o
z=^!E~V9AH)-gD1=<Gt~X@xJ^1c>ABd_u6yLHP_m+{`S6!)IunjI|3X5n>qk@`E~;5
zAAs>SLf13G>MKHyH22CbA*Pft_$JL^tRr)!^wTNf{<D>dPk`>Xd*6RN*Xa8C<znvJ
z#pb(Xz|cz9@wb@AgM@FN0COM9g6BN8jtE!)p#R<74+o#Nz7e)3V)wofQmznci~!T?
z<Bgky7(hRMoiLg8@=iZsar;frZXRZe@cE=J_ATMldxDTLVK9==>_8~JNm!^NRJ<Z=
z>=Lw|66Dc@z-)pQme4v(n0rrfOCV&`1G*NTY<>bvt^)>^0KJQVnGZobp8-odfLHU1
ztNY3OUkLsHK*t<`Kmh!IeDD#dZ)x7UtFC%mQ%YQdgy>S$%OOL(+aL{dck|1$(shiB
zxupZz9b|#Fv2#)ee`<RL2H9CDgAHW$B=lU=(YAKlKCbAyKDX{!`Z!oBSb?vrfRr$b
zm?thz(C+3S%o9f^H${vx*xbt50<Cy?{d*V=2K`Cm?w|}-{rv#+droy{S2RdgTu#hV
zLQWneuOKcdD=#l2FA9>9kd%c>NW-Ni#H6GZWh4}3q(J{Xz?ZYRT3IXVYiRv*uFE@R
zu&ukhiy|EE<>e*rB`xmkY6F*4P*8wNNWrC~#4ahs+`OIK%`sw5ZjiquXrSFJUF}@l
z?VO!Jza^SmID5D&gD*Ax#}b~n=;{4Su#=nkp9>PVbbbQIn7hCw#U<cRp8Q_dpVV&d
z`slya_&-v+-Sc)q!}ZZ_&K|Co=u2|QU(A<#_uo(SoA6Q_MGa?5k0)p+ccg|g_;N(t
z%FaqrP7<LZt0ASJASbOVDXA%k&_JkbX{t&~O3TV>$jYey#fx-ub2oRgME}KW_ct%%
zzvWd_cSW1KJG<U<c6R*h?cKI@c6WBOb#?)%tN;17Ktcv~PFBudZo<E}_n+FLUF|&4
zR$8vkPe6a}kD}eb>F^KxuyVG%)WhX3af%2@G#X*9AStFGCxsA`ltjykT}BTHF@%JL
zxrBn0q$R>i2K-NHm%RVljsHLz{8C}~Zv*%@gZOLc(#n2c{>!{CZ~o;VXs1iBaJ@8t
zBEqkqKfYg_pMCp!dh+G?^U<fngZ;hTo$am7j~gG>*H+)JEHAxVe7i6|_hxoxdTMfF
zd~9@NcxdqTK!0CvPj}a=&W`rB)|Td`#)kU3+M4RB%8K$bd}&E>QDH%TUT#iyR%S+e
zT53viQer}UTx?8qRAfXrE({y`G9)-CFu>pM#q(#rKHeBFPY-uD*QYMdPEQ;i?CorA
ztkG7M7UpKAj~|&lG&V9ccyRyTUHv<^|G1^6tAj#n-_+97P*+pEaa~1O>6)SfLS9Z*
zMp{Zz0xm8lDgqN05`+ryL%@8XtGql{xVbnv*x6WFn3)(E=;>%_sDV_J6y#*2B*d3N
zgzub`iUptp5d9tceusJh1;Jk@Feo_WWhgcb7akEA6&({B7oU)rl$?^9mY$KBm7SBD
z!bDBZL3{;;FDs)XhLCfy=G8|radDKEx3#wulh-x$1TyikbPNu)UE%2N&E_H=W~n9z
zT~|@LPF+|;OgD6ehkhcBo~Lz$qc((f6-755!~_z4-NC{1F^T+B`IRmP<PpUmk8>%w
zv{q-D=$WwY_$xAZPgZ$FfEz-2AJ8C6bxo#%pWLstb74R>GK4Y6m6d|wDzgV@`$iCi
zq=H}R$Yzys<Pk(^z~nfm5FaICL{`>iAE1t<%b@dkjRN#)T{G|i&2|?~Y9WkHf0P6y
z235r9!Z^*fp8%1p1W{P`QNx3Ucyi8wBYUATSZNHeS+k-1?CO1Y$oYNZ=E;@#gyG5_
zq5Y#NWYT-6emGm@_2E2Gks4t;qW2mk5H=?kuj5@^ubX%6sobU>jm5)SUk>2v`G-*V
zq<mry@%+p91y76C;iiK1D1Xc91Y_1i-SF49;^?S+1n_u!8+(P0xNqBK^>=+}CNPDS
zf~L~zyvSsdb29^~;$Pxf0^x_U#2IdNb{<HbOg)P<*hk^7bY%G_?5mLdgPUP!Z-uxX
z7^fETd*jUtsWk}wwm}$anTY{XCsNrp+2@_?H&cyN3HGI@pIrQ}LcSqfhC<hkER4b<
zo@wXs3rS&+gs?fZer8DIb`KHshK1`yLaO80JfurNI}E9!Ka?9^CNz)L{$?J?k&4F{
zg`pvAaT_Kn)$9cVtts9^fv9HhLB=x2-m#ouHv8=y_42^J+z7d0S_b^t>UP0PU@nRw
zk~DX;D8qAir#J`KJeZN2WWQTlc!8vJDQVo@EyLfi8#GtDZSTNX#$dizNxh^_RFwe5
z4})7}2I(U+Y{SsdeMW`oh!iaUUUZpbPXUtzQ;$vPsqD~DWBO9Q4WE}?+=^=%!k5nq
zdxe}2I=_-iRbPES9IO37zo)o0DWi-k8?qZ$5oqZNK7xJ+uYbz=>It6iN-!xqgdGnc
z$_awgt`@6&J9EA@y*2jFj7)hf^~DGHoNKEa1x#I~2IcWeuGhq_ewP&F9Eqstd6>2&
zF)o~b&5cjipl3x8%vrWM8C-5cm8~uP961$)sDQsoX(##2FNaTehf;Z2oX(JO$9<Wu
z4dYpXUWGC}NU?Q(?lED6uPx{6>Zcl-&!{f;;<w?pu<VaZk*OF%VcXrn!af-Y!9yph
zW-z$Jm&$kP7FhgU*`U{aRKx<t>Xp8MMcha10_EOrxi5a5Po-Y``+f(*Ey{xWE%9qh
zIEES^134-D$59_UydC|9qw2@8R!04gF9Qxpn*>jr<6E63GkdOY8_jvBQlbbyv4jNv
zGz^tX<8{|UD2bZXMx2BGJO=tT;FsfMQJM8nXsVmSSMaAgjqk7;70l`D7r`kr%dTH?
zK8-s27LNQudNm-|qcqR2{3%j^El5>!LEA3sh<cY&TT-XmCO8f->0Ey^tj+9`FMa*O
zdTai5og-mAo#WTr0|x3R7>A%=+E@9V7F0C=H=SN0{%{f{R_i+tWkTH}eZEr9J$V0V
z2r4fN)>lk9g76Q=)lk}I^(sRKCIZQb$XpX7v_ezhjNwEd_%tAW0!ABQ{_i-zPRx>1
z`!UQ8?l*YI=5cQpC_~Nn$0X(u>g<U-kA1G>T_-h)%Dbl-rGb1MtK!~#*pN4b&5Yqy
z`h~%Ab5SUv0EHl9X--{FH4@UAVMsx!VmRnCs3w(~Se1{cWqX=YmxWY}FPEr<#+Boz
zL^x4jD2f)a6+RU(XzVE*5p!e##+lJ88Dc1@IBulDIe`$Le(I-v!pSHM4<AEb(t{=a
zjG#$>_#bh^Hes7CtlKxPEhF_X;%3?G-Tp+)sw}4H0%Gdz8^F#08amsY?4yiONn1h2
z`&umgJQ6@WA|}xCalH&VN4HY%XKIG#<9s2#Qk22)bW*E3bHM*Jy65F*UnL<U<3^U1
zS5#J2*VNY4SC>dir;w60bacMzYTzbGl<a;zIMl#*HI}`-f=`lU_RZY<!rR4nOUv&{
zE4as^!4+Wff}NLw__FmViE?hz-P4eXa=u9RgHK-xK{)~n-L?P`4gj<GS`(f$pNW<g
z7SUvX1<YPfi6X@Wu-0gh8X7Ix!uw#1I3XxsDuXeRCb>Zk={6IzER|pn#kDZmC}(0Z
z7e88dKaQuX&k!l|%LtbizD!eOC2NS8EzQ9*wc_5y&#9WUxn978$_@3bl2eq!g%6Ay
zlL$-TkTztcZmUQ5VtcrJ{BqXwce~2N@-9o=s#{!@CtjZm2ckG3)_8;~|6r1U`8bW8
zw9U<|>(W3mW5%6n?5%vc0w3Ajxk|F`DCKt^2XC5~dv5G_xXuo%TrZzS%r)I#m4@HY
zU57g}<%dy!XG!7j3t6A|M*MXsp4GX2pb7k*V|w{GU_AG3(yeLDwt$}HNTrO-BhMtL
zK|e#mbnE*gvq(WCW#1i(QP>3yILM3ehJE=td1V~6fZ$-zIA|EnpAxjEDufI<);sR@
zJz-(G>h{Hs+{}nrQOZI@z=UFm>|Ee;EZ@%|ZKPA^<QdK{TC^EQgQHCC^NK&R#S&u4
zX0aP!SbvH3%U<Nbn)ALg(?_yH@7cjHWP$Bq*w~}SJYz8!@g~BIZQ+Bj6Ew~;&ZbjV
zAS2ixn`cKu{<b*PfH(Q0tsk8$$c^2?C^PDN2D@Nx08YNd^9GwfU0?)IDoDvfT+O;T
zOsK^Ut30R8&-VzWJ(LlBlw!}s4DOjk2G2H|3TUacP)0XO9a|*om>4e$+{>dd&a`6!
zI|fEXv;v8IoMK9`8NA$f{_$)~2lcMQ>Uq%eL!4t{(2q2Yu#NV>Nob3l)WaHiHGNB_
zVkiCm{E$&=tB&yvL9}2t&Q~ma!^vm}i*{u?<f}+*Di)Z;O*@r*@DUn(S3ZFAfcKN+
zE0o@7wP2O#Wreuf7CMSuxjpm}@sI~5@mloDsLZ_MmoY@Ty6bE64*clEjaN*?HY(&#
zPNt}Qt#R_Y@&_j~Z~I`}BQ;OUv-0kL8FH&_ypt*GV52y4Fh6<ZfbG@yQ^qFa>X}{V
ze2Si6t8-c#m&hX!5w3Hg1L@dU-?pN-`tR-R#I0p5X8h&RDc`TqkZOpZZzLEvoqtTR
zsr23yq@;HIu*D;GvCV~Y4cICuuGA&+kX~1#$t@GVCdQ5RN7STmRenEgH^?ek?4r1g
z?(w9=|HEo7FTbF$sJNsQ|F^&AiBif?w6?YX_V@0d-o9>1*(ezrqS3MOiOH$yncx0S
zBu^n4c1><!b#48_8eB0{5x%jvf3U6;a%~)rplryORhAz|1c~mBy1KO4?D|Xl>bS@R
z-DF^mw3bh*wzal2>%9w1ox%*#to7d|5FeYdeYV6$z>~<#Y>yM7tYP%^8X*9vbgH!8
z8!I;H;#=uNE*DoCq;E{*Y6Ji^f%xq^MS6)iMfuqsy*o5cw=?Zzg&t&GYevx)#&Obz
z)3%A9-b;EL-q1jpeGyV5dti7Q=Jw2O0OYvTmhCeQXl4)-ZLz9C$sp*RMEWqS)cDvB
zM$5haZ&AF#W^mnC(b8T%#<oXwb-CV7bNj4})B|HHwSiYK4Sd5%O<8$ki#5696BpAg
zV__%Ynep4n>&lCbdGixi@fMGl&cRFL;-Pt+LuZiHXR5yIl|$F~H$tw*PFV3WoeX>k
z^J?Oyx~8$5GG}QI57YeU&HGW%)cYj!CWkbF!!ztf^3fJ0MuKmKDkuqoS@vTf8>9+J
zG~DKLbUFnALlZEzls=R&#G3y;>sh*u5;7&hzC!cChma&Y1UUSAOS7RnnC@o2GwBM3
z5=X>e0wjdRA5oY`)O}vaar+uukRPLUZn$Rush_PtL>HyT6^F8r+b}^W+a*L;TiaQ=
zsoqZ=OEg2ZpaBx(M?J~)!JNp4V+r2T*)f1&Kzh*PTl1G<j2DAazMC5*5E{zGlDveH
zv#EmHl0A0CxMx5ZI4|mgyQoM7Ymd*W9JVjHA$f#{DwFOe71gl~N6^CUQXS+2#A~9n
z)_(%SYzAF|1@i`^r1WnDC7cq|j>!?PQM1(mKF}hz{kxi0Uy2+yZzMS!wrm$U91=-%
z-Y#!E>=XIaeh7B$3iz^F2A3UfnIp;hPOel%i;#GD&`l{=e$+!Fzkk%ra8vYiAB%zG
zXVU)k|I{&ffwUzRDf|Ecg9txkWz$PWF)U|ICj)1Ba}y&Q6;`Zs7{JEgThb4Bjb(&!
zGK>I(#wYTprXyh@Z-rpXIqz4a@C(CKyjvMNyU~omgBk|t=hQDJF<+Aes{5nkUirl;
z@!uv_HB|Lydl9KFG(@TbSmKpKQJ4n?8qSD%W4A?uw6v}Wik@r7>Q}`HG8eM+No|Or
zp_XiENM?RPLkSPy`rEp~Lh>`$0e<7zq9UqcDHW^56Xr=ny7M~~_NVMh75wN@rF+t|
zI@V@>kpg?t_YBFl2#riI?qQP7hQ1z86Ak$Upy{pLo&N9==aMjvFZd@`90|+MNdFi@
zJIJU7mM0k!`-^xV<qrhezvu`it}Pu3d3V@H(Y;hy_FX&o*0NMi?V|$A+?WFerfpT=
z)5lV4Bd1^{syGqT@pkW>XTdx_vqakUgL9tM*}d<?OuMTY5UqOdh`55smS(~$PBIy0
z*AssY#GxJ<fB8O^uWnDj;!x;`%G??e`*Ei@jUTSsg|#N-9UN3MyaT=pxZtF`5v0Yp
z9sqCCbA2RQL&ZV;G62oK#?N12wjNT+(i{(m-8zmV6N$r`dB-!z=YeS&x6KfplUv#(
zo%ak`!Yi6>DGC1Zju?yQawsXr$oR7!&IA?f!4LlN^=<-a?YulIK8*n>E`Ej=cG}U%
zUklo)0JBZXV1btd=yYS~x>ZK}WXs1W%-j$b?kcxlj5W`ag7RHG79PqqBv+)$2vONC
z%Jj#1?|@ynN-2Xs1aPAH6`>cDNPD)Pq9X6(JZ^ypzwGRV!|9GqB4TCiGfIqr_+mJp
znp$aj{)^3#)Myj*N}5;gt_XPIjxbWHc6PymzxocbUBNi<$raKO6(*6Ic`j}pyn4^g
z%7UF;wo1q>@lj<6aMs~d$Jq*ZxmP;dv7u<2mfCckNU4pBe_V44T~Ew@3p|C~?R9kv
zY4k=of$WQv=YAmLRb47S?ME3;AyZLOs`@{yOTwktFvEkv^uDfAo-7cx9=95^XH>zf
zNm6d2%mkw?O|gg{&@pJfi8Na19v4+G0F*8>t#&tvxHVp1Z+HSgI_6lG8Z6K-flAkw
zfEN06c)SH?iRoWcrtfW7Bnx^%H7nU9<@F}lcJu3^vD@iTFhfM-$V$Rb9;$hw?4V}+
zPvcOx5;Ene()Fl<AO%>`e8)L>XInJkV?$tN^3-Rg$39@@6X+}mTlGSFaI(W`aHW=A
zA13|sm5SG)y6PCsuHw_>@vWd37slmAc(=z!IW>Ji%-GfAADg@xiFG4ydZVJ(-@-|V
zbmx{K$93;ulvhW99m&orauafsJ(?hegHEvEydCY&)Ay!Bq|Go=ix;s(hv)R}*aaRj
ztk(^cE`W@)M3Y2NyBlbH6v#1}L;eRN<^Q|Po6Aa0OpN+F^Y(YM5DSAMs9OjA%)E5u
zVH`7;mG&YFQwTjv=MeeF&8_X7-M#JcEBi;EkBR9z=vadn+J)ca$=iqx?Mj-$dr4G5
z7zM-0-RwC3@}AFJd{`3rGg_k7xMqg{^2c)~3c(9_VmJ-NQ^8-BDM>|uRI+;Z43-P0
zmA=~Ja}>T-mQ?Mt$-jfz{v)j_0;gd-n><md7^KL<rDHcxf-L6kU#y>>DbsjpgeH?I
zGr;RlIMI&S@8fG95xk!ZjNB`KP~vFNa%#|Y@TmGe0T_1^!!xe#LM0|NdS-H6&8dZP
zq>cYGC^Rl;>=BcKo5XMuh3}kW$(QY?STzHcC&uE&b(Qnv55m1X_ZRJ)Nye8ydn~Qg
zdW*arO)h)1n9MD&;;4OU@iF2mz5UqY*~iYjvOPA9Oj+CgvIde+Q4F&3%l1r}X_bnm
z{Snu~NOl!3#CyZNVo%I8!xi6ATJrU(A5ow@=!G*U7U*9>*$fJxg<*g}#R!DC_X!%2
z?ThU$UJE@<e2|4%Eq$5lneO4W=yeey_!!3#C}b)1se$8t1ZYv7Czusw3k)eTJcC55
zUKj#n3Msw$M`Dp&NMKxn&^dqn9YqCTLcX@QK%$YcFfb|4_FN#@+=mmGl8g0*rrM=Z
z0n>6y&Y|f~ThFO7vIo5dGrbpgsIs!Q&$skCHT%LfQG+ZQB60%wY1QVII40f5m-P=t
zs59zG^LjN~he<MC%xtSA<9lM6u84ou&znA7SQnzF>7yo#0oLM~23Jc&e6WhudsQuG
zuF-tLF}CG3E1>Dono*wzv=CNzf1>Ky2W5Md<f3;+8kaox4*r+STjnJCA9RxcTV>hM
z*wkD~`nP@evS*M=AxHkMEConjC$W>gSzdX+`i5IN@hbP)rG3u|#<L5Ia)U|5TVhBh
zjz%|P!J~Yq`*(1R@N@_}fd-f%<Np?*O`6PTh(VfCX)nbE=U{e7>*%A$1-u7qnAF0e
zuO!v?Ip#qUMT8r4TOzD<k<zAf?Fzy+kQ61pb1PDrl5u`<ze5=mv)$cv-LO0*pe#Nw
zHymfI7ks)qUGX?mpDf)2KOJk;3r)nyiRD$A5MH&4k$$UKY6;rqoyK{EJyw7A`B$ND
z(<d{vfGytfhlbTgjrVD<i@$4xTh`b>t_{$<m0BM%mlYxBX{z1o4`gc7JZSoCJD#9f
z1${DKkDkNNta~bRd)iJU&kvAirG0(8(i%ykb<4Bq$xx@x$SvNEuP2+sRM+2&{*ZsV
zHQya5xYBy@`Jk#zNAUVD->(zfzGY40zkYr^dH}DU6AV0~nH%P>2~fkF*U|9vO0vJ9
z7#(B?Q$f}TB~vquClC6K_T9+2FNjSD4vN$0(<PFmF<TE4Dk@pWi8gMphl{YS=4x>(
zg4Y!hn`e5IvMOqTU`2A_4Jq!``9TU2mYj`0;&kP9HsWt<34ct`$GNCQZ=g#*CYgw<
z0wT;_3U8)ZC3&yM*cPQ)s@pg2Sj#(h3U6i5P1zM^JlZVX%6j&7XDi#E9Jc)@PMAwg
z_MdbwkrYIwMP=zF`10zcN}`&E_`1fH=;qcATzhACNLNpPU;iau(J?&IGB(~YIaNI~
zTQ-+1OR@CZ#xA>;bxLgA#?FV$Fv`+TmofCq$>}M@*4K;gX9wR20HUwbG9qSO0im7}
zhJ)3)y`c;cRD?Ff6d%SR@SweMkLTv2w<<WGFcZsAT-L3;jRM!gq9k$2?g-%#$e6yg
z^Ga>08~;QW)Q?zC_ykJp#4XFWE$2=Z6t1VLOxp$8EiS!Z;n{=t5Sgt^Zw`FJ?<rbT
zYb}<mr(-Af5b1RBUJWNQ&$yf-%CNmW(p2^SmCuuBvI*?fYrR<Jy^7qyOw}MGT7?(7
zZ$WB9i9}lBG75EDzLD4W-szUqZO@d7$G1N8V%(bxd)%wS@9UYn*hsN9e&8<QJm2Z}
znoc}J?(=$6G-STwnYS~3obh0s=i4@s=Ttn!?ab$}Z`&(%+(391!})RGc)o#YRtM(W
z^4)x!&gU<D&cCh&y@pTA?A}|j`}W@NJ=OYqKcY1GRev(^ryzT(>84dXTDGEv5Z@Zm
zBbbue_FAZ~<b#M8<FU;dVS~Ab8MvOBv-I%xZfzdFy{Uz)$WLn=rq92wRo~YCN+!G!
zqw$sHKS-%@yiiV9VH`6jgOCVqSzs|6pb5ZGT8CrgZ)|Q7D`@B*XlZK?qUC(uU7OuM
zKGTXXWP}Qhi*x~cGp1j20-J#%;|yZVxufGkKwcfjMF3UW+Q4PyuS45h+d0mop6fIt
z>~mgDi*gys5_r~q^7-M{XokLrr1SUn`6fAl%*@o1<u`ZM#lk{=EC)W=&S?vbRua0w
zAxbi$4&fP)nHozWi^1I^Znm>kqfTq49Jt#z#WSg?z+=A0xxY27sTKydAn#6nlXNqB
zXF5%27t9KYe*QdxH4bR-n4pIN#WwDCYFjhMatnFsztbiv4jaq4qralgtJG6);uQzS
zd#c}3bi|U1Q-_GjR<ejc+C(K#ACQ5J+%)w*%7s8>d}cOvN@Xi}XN_kZbZVr>*zR4M
zIY6~Y9z34ro^eKX!)f6!cFqbml9E2SK38ORpQL4#l<#nz@jy*G-}w}EkwpCF?dh$i
zM?5p%hISaARBf0{`}TgOAG2BFZS+3jFBRnV-7xx=?Rd^vn{E1Y%`?Y|3fGwBOiTPN
z$Az(0F83)b*elnSbGp&ojYs91xjWyn9N0_U+Y9VTG~5J!F0l9wj1gv%hxn1TdO@B^
z?lwV!lrJc{yeY{`R|zq3v+P69F&~@F;$>CNAumuU1SmvP5yS7VNYx?``pEbU9cM1C
z01ZR?V4%T9_RY|6tCleS3_E+OE{s^xH|Wc!ID}y2le9BIYyci16#bkFBZLdvZ5E1+
zyf_nz@E&dv3`pei7R*TnwhAX_`kV{r<-!zUsfB6Yu!2%lD=fWYk*dg3S8JW0|F#;_
zO1XP0MmQ?=R;fc``(sXYO^aIX9;8F%SR~tn>jGBPd<%unm7}A!Dj!e`7p)(@fT8Og
zBlooHqjX2?8kQgHh&FF49`Cn)MEO=WzIJseY%-i4scQZOr9P@9Ceg92m|KD6^hET0
zuWEm9O)W_%Wa8F++QoKPWPgCt>&M}1x)Fp+D_Oj6b<1d$V^wQp^*d}^fpxjmps3(}
zO*Ufh-EsdrsVmMy7R1X{lg!K&MN_1ZikfMk!+qO{gToP-;al%%8jAEEqE1I2cpdD_
z<>8*d-r~~^V2ic*Cn9O!d0nX``nF|>WvJ;-*Wt6u{kri~%p|dR@aOU&(nmidsHk|z
zzKq{@HeliqhxU!3sKcnqyNuPZ4Ky1TYSJ#iA7A1(#9qp@LmRL8kKRs?_n;%hLu#_<
zsf@23KiG_dTYH1W8=|g(8$amNLOKqAP4B(po}RsNq^%ja-#wW%=sR3i2>24QFNpZm
zT%Hr-%m4P<FGcqXe?RK2c!@2YM@Z!m<azR`fVPtsUqk25<ddXdW=rW;Pj}e^TsPq2
zG3i&=YS(CHLk^iwW=zhsW4e58ZwU`G1Ot2W6cVr&F0UC($?2bVVGAl*fZ9tpVTc|z
zj{YD{M*#Ih?Ov|MqnC)$Tsp78Uj6?RL-==a?Xm>Y0SOcT3ta2(-~i=<uAu$~*QV*X
zvN+~{r>AKMefrWk9fW-M5?nj{Gd+<*=q6Y;Qg|lFFPbA1mmHFa<AVcGFhKA<qP0LB
z;tUT%4!eLl#-uY@<{Nk76a*6K<lI2Hmi!FkFil6fDgFWqVL`ilJyYm{lvoWIpWPSh
zI;2Qq{r)-SR(`5%7~4-Oq~ITgI;v_wMHYKVK2fGXgHNIzq*$Ouu?LUEFO)>ZWND62
z?l0CnCXAq-Q5)dF4eo7=nj3O(NNvdI#ZT^ehL!Gc0QGLTVeGm<Aon$KrS0ks4S!Bk
zEmFj>^>~7qpGxrkFShE2%Gp{x1}D2}2t6BPfQ72zO=_71Yf9qa9u(rf<+T58q^cHc
zirvp-ZMEA1EH89$I~Q@}cCVRbBecw?g4Q9a`H9b|+UwqhW?i328tjsxiPs0dvU-{p
zpdnFgu3MnQ6?!&i(iAIr_%>Pl`LtvIq6`2Q0HRnwP#=4a1#v_MR^ORfWfDfjXF}Q3
z?!F0}>Pn_0oB1KX{0IHXHwM9<szF(N5Zy0eFqxKm?jQQf9JvBQJI&Zz6DioMxXF#W
zTmp!PX?BSCr-B3+%u4#PD+;G{6wAc%qhuZ=rs(zo$|MTPgrK9|4w6uduA(0Wla>bK
zs$w4)Mvj>oZGjA*Z;ht<imN7NERzijqIFhFgR?w{H*KW-JBv7SUjlI@Ae@xXqGdFc
zW!tg^ao09KnJ#W8D@T0Ft{}aT%U(L)$r#30T)BzIQ`RglR8*<i?3IViUT|Ip5CyK9
zjsX~FZJ1(ysp)9tBCI;}whw1rilVPrL#TF}NYfi!t7vm5WqLB{LSX8i8S$Y&Sc7-P
zMwh^5mh4Puyt|^ny#p1p4Qb+%xACMnU?H*%!kK>wu8BkxNNZWEnIJB~wWp$4S=!Yf
z`>%MFCw8SP<pdDXCOf+Ja=1%a7K%3QACLSErYHZyfyn;v|26nGbQ;SpC`ESpHR^W{
z(bC!smM&r^;YRlM^$%QrjT#;qMG6S!i}Q{BMyHWr_8j(}J^?Vv`iG5w^vIi1E4^en
zWbY>{;=1}tvIP71-kl~~U256BXR+`yfB+i<K?7$fEY6vX<C3jN1UdQ`PzCkQ3!!=>
zFB2DRhsY#}LGNSh-KEe>n9CkwmgN|&o7#JO`kwdQ=}}!-^RK}t%y%bqV{wlaaVN3*
zI=bm{KE}fMS<QRGMjdHFdj%CH^xn$uY8m5dX1#1&4p<9~dL_aeu*Ji{gWP&ovMB+p
zOTTINr8o_7kgi(Dh#_ab5RtD2^#^g3d9;((f`-h6A3hFDE!#AAW`7+iYLPTZEM;bU
za?R{PH$R^hZOYmoQ{qOFG|z7_DIVK)jMnowK`j~%t<@+F4xgWYW3uN~scaZ9Q8@m9
z9G6?9NxI6%F7dc`K>S%uI45`soqkQ1G~nCOnvP)ok4iU-A+kp)auHb`E0wb{x=suC
z=UFYHUA(g0bW&s@Xl95~v~N;QQ*hm3b@IwJrDmH;(q`mBP-^ku5E-5kLfdP8=d?^D
zl6*zlqtCjK+uF~sR2o`_2V%``M}*&A;MU-<PF{E!+<?7G09SpyxdCPuwabmXixz?;
zcJ7>A38JQ@+yMWGlqn2b$Zf{rP>SrgwM-YuKO~S9xUI(;$`uP-Z(v;g5N~OZ&<!3L
zO$Ei}EhCp)tW>^k`UNB*Z9JC6?gqlK7s8u<hyCo?IZ-)b%j9Ib%nxZ2Y7MqrZZQp0
zMj<U;=YyX?)ozqO%<{>J4a(vwO)@O?8O&<_mAsu`-CF7pTD5{IqFyn9ImY%w*X@Fb
z(oj%MkLg8+>KAG_NBvGFVn@nEMfAtiwL{}4Eiaq>pSbTo7&=H?;Tjex$F~A>B##E#
zc3TGK(l<Mr=$O+n{lPaZ(+T6@hc#a-!<VJ_&TPa8_0fyPA4N%_Scw<llEzF?Hu)=J
z;2AEqwV}|0@?$?yKgycEEF#e-tu$N%_PH{q4Q@%wI;VA+s`9cjHVP!x(!&VmrG;rR
z`A0JPH@!BcXQilr91nADAx>}K7yMb@OXRS>KSCGx{7Wf6^v=7HN6?z1-Z#p#@8^_%
zEi~{|B_4S`u4`l;vexGQ;brJxk?8^c(Jj|>Pr7;LX(br?YaAeGi$CAY@H#x-I_hR1
z>G`Rx)(lFr%)i)uli=jj9Bcw2*{h#_F<Pzr&KOHADdY70(<}?1cg^?1&!L?GOSP%_
zp=-zM5`FT1$kkRI(=d#{!|Tr_C2U^}eF1j^F5qVy$*;U&UBp!{r14!jD;G!HbwG)$
guj&1i*;A?rzp{KkUH+CylLMg8?joiWU;teEFJU<AR{#J2

literal 0
HcmV?d00001

-- 
GitLab


From d9ba289fdba9f490a63af9574d367aac13ee5374 Mon Sep 17 00:00:00 2001
From: Lucas Schoenfelder <les17@inf.ufpr.br>
Date: Fri, 7 Feb 2020 17:47:48 -0300
Subject: [PATCH 10/29] finalizando pagina do usuario (ainda sem cards de
 recursos)

---
 src/Components/ComponentAlterarAvatar.js | 216 +++++++++++------------
 src/Components/ContainerRedeVazia.js     |  72 ++++++++
 src/Components/LoginModal.js             |  18 +-
 src/Components/TabPanelMeusRecursos.js   |   2 +-
 src/Components/TabPanelRede.js           | 169 ++++++++++++++----
 src/Components/TabRedeImgDiv.js          |  10 ++
 src/Pages/UserPage.js                    |  93 +++++-----
 src/img/no-rede-1.png                    | Bin 0 -> 16270 bytes
 src/img/no-rede-2.png                    | Bin 0 -> 72425 bytes
 src/img/no-rede-3.png                    | Bin 0 -> 21600 bytes
 10 files changed, 386 insertions(+), 194 deletions(-)
 create mode 100644 src/Components/ContainerRedeVazia.js
 create mode 100644 src/Components/TabRedeImgDiv.js
 create mode 100644 src/img/no-rede-1.png
 create mode 100644 src/img/no-rede-2.png
 create mode 100644 src/img/no-rede-3.png

diff --git a/src/Components/ComponentAlterarAvatar.js b/src/Components/ComponentAlterarAvatar.js
index 3115167a..f6ed1c11 100644
--- a/src/Components/ComponentAlterarAvatar.js
+++ b/src/Components/ComponentAlterarAvatar.js
@@ -29,9 +29,10 @@ import CloseIcon from '@material-ui/icons/Close';
 import Profile from '../img/default_profile0.png'
 
 const ChangeAvatarDiv = styled.div`
-    color:rgba(255,255,255,.7);
+    color : rgba(255,255,255,.7);
     background-color:rgba(0,0,0,.5);
-    position: absolute;bottom: 0;
+    position: absolute;
+    bottom: 0;
     width: inherit;
     text-align: center;
     font-size: 18px;
@@ -44,54 +45,6 @@ const ChangeAvatarDiv = styled.div`
     justify-content: center;
 `
 
-export default function ComponentAlterarAvatar (props) {
-
-
-
-        return (
-            <ModalDiv style={{maxWidth:"500px", maxHeight:"500px"}}>
-            <HeaderDiv>
-                <span style={{width:"32px"}}/>
-                    <StyledH2>Editar Foto</StyledH2>
-                    <StyledCloseModalButton onClick={props.handleClose}>
-                        <CloseIcon/>
-                    </StyledCloseModalButton>
-            </HeaderDiv>
-            <DialogDiv>
-                <div style={{marginTop:"0"}}>
-                    <form>
-                        <DivAlterarFoto>
-                            <DivFlowHolder>
-                                <AvatarCircleDiv>
-                                    {
-                                        props.userAvatar == '' || props.userAvatar == null ?
-                                        (
-
-                                            <img src={Profile} alt={'user avatar'} style={{height:"inherit", width:"inherit", objectFit:"cover"}}/>
-                                        ):
-                                        (
-                                            <img src={this.props.userAvatar} alt={'user avatar'} style={{height:"inherit", width:"inherit", objectFit:"cover"}}/>
-                                        )
-                                    }
-                                    <ChangeAvatarDiv>
-                                        <span>Alterar</span>
-                                        <input accept="image/*" id="icon-button-file"
-                                        type="file"
-                                        onChange={(e) => props.handleFile(e.target.files) }/>
-                                    </ChangeAvatarDiv>
-                                </AvatarCircleDiv>
-                            </DivFlowHolder>
-                        </DivAlterarFoto>
-                        <ButtonsDiv>
-                            <ButtonCancelar><span>Cancelar</span></ButtonCancelar><ButtonConfirmar><span>Salvar Alterações</span></ButtonConfirmar>
-                        </ButtonsDiv>
-                    </form>
-                </div>
-            </DialogDiv>
-            </ModalDiv>
-        )
-
-}
 
 const ModalDiv = styled.div`
     background-color : #fff;
@@ -102,70 +55,70 @@ const ModalDiv = styled.div`
     flex-direction : column;
 `
 
-const ButtonConfirmar = styled(Button)`
-    color : rgba(255,255,255,0.87);
-    background-color: rgb(0,188,212);
-    display: inline-block;
-    position: relative;
-    cursor: pointer;
-    min-height: 36px;
-    min-width: 88px;
-    line-height: 36px;
-    vertical-align: middle;
-    align-items: center;
-    text-align: center;
-    border-radius: 3px;
-    box-sizing: border-box;
-    user-select: none;
-    border: 0;
-    padding: 0 6px;
-    margin: 6px 8px;
-    background: transparent;
-    background-color: transparent;
-    color: currentColor;
-    white-space: nowrap;
-    text-transform: uppercase;
-    font-weight: 500;
-    font-size: 14px;
-    font-style: inherit;
-    font-variant: inherit;
-    font-family: inherit;
-    text-decoration: none;
-    overflow: hidden;
+const StyledButtonConfirmar = styled(Button)`
+    background-color : #00acc1 !important;
+    color: #fff !important;
+    display: inline-block !important;
+    position: relative !important;
+    cursor: pointer !important;
+    min-height: 36px !important;
+    min-width: 88px !important;
+    line-height: 36px !important;
+    vertical-align: middle !important;
+    align-items: center !important;
+    text-align: center !important;
+    border-radius: 4px !important;
+    box-sizing: border-box !important;
+    user-select: none !important;
+    border: 0 !important;
+    padding: 0 6px !important;
+    margin: 6px 8px !important;
+    background: transparent !important;
+    background-color: transparent !important;
+    color: currentColor !important;
+    white-space: nowrap !important;
+    text-transform: uppercase !important;
+    font-weight: 500 !important;
+    font-size: 14px !important;
+    font-style: inherit !important;
+    font-variant: inherit !important;
+    font-family: inherit !important;
+    text-decoration: none !important;
+    overflow: hidden !important;
 `
 
 const ButtonCancelar = styled(Button)`
-    outline : none;
-    display: inline-block;
-    position: relative;
-    cursor: pointer;
-    min-height: 36px;
-    min-width: 88px;
-    line-height: 36px;
-    vertical-align: middle;
-    align-items: center;
-    text-align: center;
-    border-radius: 3px;
-    box-sizing: border-box;
-    user-select: none;
-    border: 0;
-    padding: 0 6px;
-    margin: 6px 8px;
-    background:transparent;
-    color: currentColor;
-    white-space: nowrap;
-    text-transform: uppercase;
-    font-weight: 500;
-    font-size: 14px;
-    font-style: inherit;
-    font-variant: inherit;
-    font-family: inherit;
-    text-decoration: none;
-    overflow: hidden;
+    outline : none !important;
+    display: inline-block !important;
+    position: relative !important;
+    cursor: pointer !important;
+    min-height: 36px !important;
+    min-width: 88px !important;
+    line-height: 36px !important;
+    vertical-align: middle !important;
+    align-items: center !important;
+    text-align: center !important;
+    border-radius: 3px !important;
+    box-sizing: border-box !important;
+    user-select: none !important;
+    border: 0 !important;
+    padding: 0 6px !important;
+    margin: 6px 8px !important;
+    background:transparent !important;
+    color: currentColor !important;
+    white-space: nowrap !important;
+    text-transform: uppercase !important;
+    font-weight: 500 !important;
+    font-size: 14px !important;
+    font-style: inherit !important;
+    font-variant: inherit !important;
+    font-family: inherit !important;
+    text-decoration: none !important;
+    overflow: hidden !important;
 `
 
 const ButtonsDiv = styled.div`
-    display: flex;
+    display : flex;
     justify-content:flex-end;
 `
 
@@ -224,3 +177,50 @@ const StyledCloseModalButton = styled(Button)`
     height : 40px;
     margin : 0 6px;
 `
+
+export default function ComponentAlterarAvatar (props) {
+        return (
+            <ModalDiv style={{maxWidth:"500px", maxHeight:"500px"}}>
+            <HeaderDiv>
+                <span style={{width:"32px"}}/>
+                    <StyledH2>Editar Foto</StyledH2>
+                    <StyledCloseModalButton onClick={props.handleClose}>
+                        <CloseIcon/>
+                    </StyledCloseModalButton>
+            </HeaderDiv>
+            <DialogDiv>
+                <div style={{marginTop:"0"}}>
+                    <form>
+                        <DivAlterarFoto>
+                            <DivFlowHolder>
+                                <AvatarCircleDiv>
+                                    {
+                                        props.userAvatar == '' || props.userAvatar == null ?
+                                        (
+
+                                            <img src={Profile} alt={'user avatar'} style={{height:"inherit", width:"inherit", objectFit:"cover"}}/>
+                                        ):
+                                        (
+                                            <img src={this.props.userAvatar} alt={'user avatar'} style={{height:"inherit", width:"inherit", objectFit:"cover"}}/>
+                                        )
+                                    }
+                                    <ChangeAvatarDiv>
+                                        <span>Alterar</span>
+                                        <input accept="image/*" id="icon-button-file"
+                                        type="file"
+                                        onChange={(e) => props.handleFile(e.target.files) }
+                                        style={{display:"none"}}/>
+                                    </ChangeAvatarDiv>
+                                </AvatarCircleDiv>
+                            </DivFlowHolder>
+                        </DivAlterarFoto>
+                        <ButtonsDiv>
+                            <ButtonCancelar onClick={props.handleClose}><span>Cancelar</span></ButtonCancelar><StyledButtonConfirmar><span>Salvar Alterações</span></StyledButtonConfirmar>
+                        </ButtonsDiv>
+                    </form>
+                </div>
+            </DialogDiv>
+            </ModalDiv>
+        )
+
+}
diff --git a/src/Components/ContainerRedeVazia.js b/src/Components/ContainerRedeVazia.js
new file mode 100644
index 00000000..287e33c1
--- /dev/null
+++ b/src/Components/ContainerRedeVazia.js
@@ -0,0 +1,72 @@
+import React, {useContext, useState, useEffect} from 'react'
+import styled from 'styled-components'
+import { Container } from 'react-grid-system'
+import {ButtonMostrarTodos, ButtonMostrarMais, BtnAlinhaRecPvt, DivContainerRecursosPublicados, ContainerDivStyled, DivTitulo, StyledP, StyledHR} from './TabPanelMeusRecursos.js'
+import NoRede1 from '../img/no-rede-1.png'
+import NoRede2 from '../img/no-rede-2.png'
+import NoRede3 from '../img/no-rede-3.png'
+import Paper from '@material-ui/core/Paper';
+import TabRedeImgDiv from './TabRedeImgDiv.js'
+
+export default function ContainerRedeVazia (props) {
+    return (
+        <React.Fragment>
+            <ContainerDivStyled>
+                <Paper elevation={3}>
+                    <div>
+                        <RedeVaziaBoxContainer>
+                            <StyledSpan>Você ainda não tem uma rede.
+                            <br/>
+                            Veja como começar:
+                            </StyledSpan>
+                            <StyledSpan>
+                                <StyledHr/>
+                                    <DivColumns>
+                                            <TabRedeImgDiv img={NoRede1} text={"Para encontrar um usuário específico, você pode utilizar a barra de busca e selecionar a busca por \"pessoas\""}/>
+                                            <TabRedeImgDiv img={NoRede2} text={"Você pode começar a seguir uma pessoa clicando no botão \"seguir\" no card (A) ou na página dela (B)"}/>
+                                            <TabRedeImgDiv img={NoRede3} text={"Pronto! Agora você poderá acompanhar os novos recursos e coleções dessa pessoas na sua página, na aba \"Perfil e Atividades\""}/>
+                                    </DivColumns>
+                            </StyledSpan>
+                        </RedeVaziaBoxContainer>
+                    </div>
+                </Paper>
+            </ContainerDivStyled>
+        </React.Fragment>
+    )
+}
+
+const DivColumns = styled.div`
+    display : flex;
+    flex-direction : row;
+    aling-items : space-between
+    padding-right : 15px;
+    padding-left : 15px
+`
+
+const StyledHr = styled.hr`
+    margin-top : 20px;
+    margin-bottom : 20px;
+    border : 0;
+    border-top: 1px solid #eee;
+`
+
+const RedeVaziaBoxContainer = styled.div`
+    background-color : #fff;
+    box-shadow: 0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);
+    padding: 30px;
+    padding-right: 30px;
+    padding-left: 30px;
+    margin-bottom: 30px;
+    text-align: center;
+    height: 100%;
+    padding-left: 0 !important;
+    padding-right: 0 !important;
+    margin-top: 20px;
+}
+`
+const StyledSpan = styled.span`
+    font-weight : lighter;
+    margin-top: 0;
+    font-family: Roboto;
+    font-size: 24px;
+`
diff --git a/src/Components/LoginModal.js b/src/Components/LoginModal.js
index 052084e7..3b0482fd 100644
--- a/src/Components/LoginModal.js
+++ b/src/Components/LoginModal.js
@@ -69,19 +69,17 @@ export default function LoginModal (props){
                 userLoggedIn: !state.userIsLoggedIn,
                 login: {
                     id : response.data.id,
-                    username : response.data.name,
-                    email : response.data.email,
+                    username : response.data.data.name,
+                    email : response.data.data.email,
                     accessToken : response.headers['access-token'],
                     clientToken : response.headers.client,
-                    userAvatar : response.data.avatar_file_name,
-                    userCover : response.data.cover_file_name
+                    userAvatar : response.data.data.avatar_file_name,
+                    userCover : response.data.data.cover_file_name
                     }
                 }
             )
-            // console.log(response.headers)
-             console.log(login)
-            // console.log(response.data.data.name)
-            // console.log(response.data.data.uid)
+            props.handleClose();
+            props.openSnackbar();
             localStorage.setItem('@portalmec/accessToken', response.headers['access-token'])
             localStorage.setItem('@portalmec/clientToken', response.headers.client,)
             sessionStorage.setItem('@portalmec/id', response.data.data.id)
@@ -91,8 +89,6 @@ export default function LoginModal (props){
                 localStorage.setItem('@portalmec/email', login.email)
                 localStorage.setItem('@portalmec/senha', login.senha) //MUDAR ISSO ASAP
             }
-            props.handleClose();
-            props.openSnackbar();
             }, (error) => {
                 {handleSnackbar(true)}
             }
@@ -120,7 +116,7 @@ export default function LoginModal (props){
                 timeout: 500,
             }}
          >
-            <Zoom in={props.open} style={{ transitionDelay :"0.4ms"}}>
+            <Zoom in={props.open} style={{ transitionDelay :"0.2ms"}}>
                 <LoginContainer handleClose={props.handleClose}
                  openSignUp={props.openSignUp}
                  handleLoginInfo={handleLoginInfo}
diff --git a/src/Components/TabPanelMeusRecursos.js b/src/Components/TabPanelMeusRecursos.js
index 1f2b432b..29864d8c 100644
--- a/src/Components/TabPanelMeusRecursos.js
+++ b/src/Components/TabPanelMeusRecursos.js
@@ -23,7 +23,7 @@ export default function TabPanelAtividades (props) {
         axios.all([
             axios.get((`${apiUrl}/users/` + props.id + '/learning_objects'), props.config),
             axios.get((`${apiUrl}/users/` + props.id + '/drafts'), props.config),
-            axios.get((`${apiUrl}/users/` + props.id + '/submissions?stats=submitted'), props.config)
+            axios.get((`${apiUrl}/users/` + props.id + '/submissions?status=submitted'), props.config)
         ])
         .then( (responseArr) => {
                 handleLoading(false)
diff --git a/src/Components/TabPanelRede.js b/src/Components/TabPanelRede.js
index e3f3aa61..8a7f2d4b 100644
--- a/src/Components/TabPanelRede.js
+++ b/src/Components/TabPanelRede.js
@@ -6,43 +6,144 @@ import Button from '@material-ui/core/Button';
 import {ButtonMostrarTodos, ButtonMostrarMais, BtnAlinhaRecPvt, DivContainerRecursosPublicados, ContainerDivStyled, DivTitulo, StyledP, StyledHR} from './TabPanelMeusRecursos.js'
 import axios from 'axios'
 import {apiUrl} from '../env';
+import LoadingSpinner from './LoadingSpinner.js'
+import ContainerRedeVazia from './ContainerRedeVazia.js'
+import {NoPubSpan, DivConteudoNaoPublicado, DivTextoNoPublications} from './TabPanelMeusRecursos.js'
 
 export default function TabPanelRede (props) {
-    
+    const [loading, handleLoading] = useState(true)
+
+    const [followingList, setFollowing] = useState([])
+    const [followingListLength, setFollowingLength] = useState(0)
+
+    const [followersList, setFollowers] = useState([])
+    const [followersListLength, setFollowersLength] = useState(1)
+
+    useEffect( () => {
+        axios.all([
+            axios.get((`${apiUrl}/users/` + props.id + '/following/User'), props.config),
+            axios.get((`${apiUrl}/users/` + props.id + '/followers'), props.config)
+        ])
+        .then( (responseArr) => {
+                handleLoading(false)
+                console.log(responseArr)
+                console.log(responseArr[0].data)
+                console.log(responseArr[1].data)
+
+
+            },
+            (error) => {
+                handleLoading(false)
+                console.log('error while running axios all')
+            }
+        )
+    }, [])
 
     return (
-        <React.Fragment>
-            <ContainerDivStyled>
-                <Paper elevation={3}>
-                        <DivTitulo>
-                            <StyledP>Seguidor <b style={{fontWeight:"700", fontSize:"20px"}}>(1)</b></StyledP>
-                            <StyledHR/>
-                        </DivTitulo>
-                        <div style={{height : "400px"}}>
-                            <DivContainerRecursosPublicados>
-                            </DivContainerRecursosPublicados>
-                            <BtnAlinhaRecPvt>
-                                <p style={{margin:"0 0 10px", fontSize:"14px"}}>Carregado 1 de 1</p>
-                            </BtnAlinhaRecPvt>
-                        </div>
-                </Paper>
-            </ContainerDivStyled>
-
-            <ContainerDivStyled>
-                <Paper elevation={3}>
-                        <DivTitulo>
-                            <StyledP>Seguindo <b style={{fontWeight:"700", fontSize:"20px"}}>(1)</b></StyledP>
-                            <StyledHR/>
-                        </DivTitulo>
-                        <div style={{height : "400px"}}>
-                            <DivContainerRecursosPublicados>
-                            </DivContainerRecursosPublicados>
-                            <BtnAlinhaRecPvt>
-                                <p style={{margin:"0 0 10px", fontSize:"14px"}}>Carregado 1 de 1</p>
-                            </BtnAlinhaRecPvt>
-                        </div>
-                </Paper>
-            </ContainerDivStyled>
-        </React.Fragment>
+        <>
+        {
+            loading ?
+            (
+                [
+                    <LoadingSpinner text={'CARREGANDO...'}/>
+                ]
+            )
+            :
+            (
+                [
+                    <>
+                    {
+                        followingListLength == 0 && followersListLength == 0 ?
+                        (
+                            [
+                                <>
+                                    <ContainerRedeVazia/>
+                                </>
+                            ]
+                        )
+                        :
+                        (
+                            [
+                                <React.Fragment>
+                                    <ContainerDivStyled>
+                                        <Paper elevation={3}>
+                                                <DivTitulo>
+                                                    <StyledP>Seguidor <b style={{fontWeight:"700", fontSize:"20px"}}>({followingListLength})</b></StyledP>
+                                                    <StyledHR/>
+                                                </DivTitulo>
+                                                <div style={{height : "400px"}}>
+                                                {
+                                                    followingListLength == 0 ?
+                                                    (
+                                                        [
+                                                            <>
+                                                                <DivTextoNoPublications>
+                                                                    <DivConteudoNaoPublicado>
+                                                                        <NoPubSpan>Você não possui nenhum seguidor.</NoPubSpan>
+                                                                    </DivConteudoNaoPublicado>
+                                                                </DivTextoNoPublications>
+                                                            </>
+                                                        ]
+                                                    )
+                                                    :
+                                                    (
+                                                        [
+                                                            <>
+                                                                <DivContainerRecursosPublicados/>
+                                                                <BtnAlinhaRecPvt>
+                                                                    <p style={{margin:"0 0 10px", fontSize:"14px"}}>Carregado 1 de 1</p>
+                                                                </BtnAlinhaRecPvt>
+                                                            </>
+                                                        ]
+                                                    )
+                                                }
+                                                </div>
+                                        </Paper>
+                                    </ContainerDivStyled>
+
+                                    <ContainerDivStyled>
+                                        <Paper elevation={3}>
+                                                <DivTitulo>
+                                                    <StyledP>Seguindo <b style={{fontWeight:"700", fontSize:"20px"}}>({followersListLength})</b></StyledP>
+                                                    <StyledHR/>
+                                                </DivTitulo>
+                                                <div style={{height : "400px"}}>
+                                                {
+                                                    followersListLength == 0 ?
+                                                    (
+                                                        [
+                                                            <>
+                                                                <DivTextoNoPublications>
+                                                                    <DivConteudoNaoPublicado>
+                                                                        <NoPubSpan>Você ainda não segue nenhum outro usuário.</NoPubSpan>
+                                                                    </DivConteudoNaoPublicado>
+                                                                </DivTextoNoPublications>
+                                                            </>
+                                                        ]
+                                                    )
+                                                    :
+                                                    (
+                                                        [
+                                                            <>
+                                                                <DivContainerRecursosPublicados/>
+                                                                <BtnAlinhaRecPvt>
+                                                                    <p style={{margin:"0 0 10px", fontSize:"14px"}}>Carregado 1 de 1</p>
+                                                                </BtnAlinhaRecPvt>
+                                                            </>
+                                                        ]
+                                                    )
+                                                }
+                                                </div>
+                                        </Paper>
+                                    </ContainerDivStyled>
+                                </React.Fragment>
+                            ]
+                        )
+                    }
+                    </>
+                ]
+            )
+        }
+        </>
     )
 }
diff --git a/src/Components/TabRedeImgDiv.js b/src/Components/TabRedeImgDiv.js
new file mode 100644
index 00000000..95ab72c3
--- /dev/null
+++ b/src/Components/TabRedeImgDiv.js
@@ -0,0 +1,10 @@
+import React from 'react'
+
+export default function TabRedeImgDiv (props) {
+    return (
+        <div style={{width:"33.33333333%", textAlign : "center"}}>
+            <img src={props.img} alt={'no rede 1'} style={{width : "100%", verticalAlign : "middle", border : "0"}}/>
+            <p style={{fontSize : "14px", fontFamily : "Roboto", margin : "0 0 10px"}}>{props.text}</p>
+        </div>
+    )
+}
diff --git a/src/Pages/UserPage.js b/src/Pages/UserPage.js
index e39dbe78..89026587 100644
--- a/src/Pages/UserPage.js
+++ b/src/Pages/UserPage.js
@@ -39,7 +39,7 @@ import TabPanelColecoes from '../Components/TabPanelColecoes.js'
 import TabPanelRede from '../Components/TabPanelRede.js'
 import axios from 'axios'
 import {apiUrl} from '../env';
-import ModarAlterarAvatar from '../Components/ModalAlterarAvatar.js'
+import ModalAlterarAvatar from '../Components/ModalAlterarAvatar.js'
 
 export default function UserPage (props){
     const {state, dispatch} = useContext(Store)
@@ -77,7 +77,6 @@ export default function UserPage (props){
             'Cookie': ''
         })
         .then( (response) => {
-                console.log(response)
                 dispatch ({
                     type : 'USER_ACCESSED_USER_PAGE',
                     set: {
@@ -91,7 +90,6 @@ export default function UserPage (props){
                         collectionsCount: response.data.collections_count,
                     }
                 })
-                console.log(state.currentUser)
             },
             (error) => {
                 console.log('error while running ComponentDidMout')
@@ -107,6 +105,11 @@ export default function UserPage (props){
         setValue(newValue)
     }
 
+    const updateCover = (selectorFiles : FileList) => {
+        console.log(selectorFiles)
+        console.log(selectorFiles[0].name)
+    }
+
     return (
         <>
         <link href="https://fonts.googleapis.com/css?family=Roboto:100,400,500&display=swap" rel="stylesheet"/>
@@ -115,7 +118,7 @@ export default function UserPage (props){
             (
                 [
                     <React.Fragment>
-                        <ModarAlterarAvatar
+                        <ModalAlterarAvatar
                             open={modalOpen}
                             handleClose={modalControl}
                         />
@@ -136,13 +139,13 @@ export default function UserPage (props){
                                 </BreadcrumbsDiv>
 
                             <div style={{display:"flex", flexDirection:"column"}}>
-                                <MainContainerDesktop>
+                                <MainContainerDesktop maxwidth="xl">
                                     <Paper elevation={3} style= {{width:"max-content"}}>
                                     <ContainerUserProfile>
                                         <HeaderContainer>
                                             <CoverContainer>
                                                 <img src={state.currentUser.userCover} alt = "user cover avatar" style= {{width:"100%", height:"100%", objectFit : "cover" }}/>
-                                                <input accept="image/*" style = {{display:"none"}} id="icon-button-file" type="file" />
+                                                <input accept="image/*" style = {{display:"none"}} id="icon-button-file" type="file" onChange={(e) => updateCover(e.target.files)}/>
                                                 <label htmlFor="icon-button-file">
                                                     <Tooltip title={<span style={{fontSize:"14px", overflow:"hidden", transition:"all .5s ease"}}>ALTERAR CAPA</span>} placement="left">
                                                         <IconButton style={{position:"absolute",right:"0",top:"0",color:"#fff"}}color="primary" aria-label="upload picture" component="span">
@@ -158,7 +161,7 @@ export default function UserPage (props){
                                                 </ChangeAvatarDiv>
                                             </ProfileAvatarDiv>
                                             <UserProfileInfoDiv>
-                                                <p style={{fontSize:"28px", color:"#fff", marginBottom:"2px", fontWeight:"500"}}>{user}</p>
+                                                <p style={{fontSize:"28px", color:"#fff", marginBottom:"2px", fontWeight:"500", backgroundColor:"#77777796", backgroundRadius : "8px"}}>{user}</p>
                                                 <div style={{fontSize:"14px", color:"#fff", marginBottom:"2px"}}>
                                                     <p>{state.currentUser.education}</p>
                                                 </div>
@@ -207,6 +210,7 @@ export default function UserPage (props){
                                                     textColor ="primary"
                                                     variant = "scrollable"
                                                     scrollButtons = "auto"
+                                                    TabIndicatorProps={{style : {background:"#00bcd4"}}}
                                                 >
                                                     <StyledTab label="Atividades"/>
                                                     <StyledTab label="Meus Recursos"/>
@@ -242,35 +246,38 @@ export default function UserPage (props){
 
   }
 
-  const HeaderDiv = styled.div`
+const HeaderDiv = styled.div`
     background-color : #f4f4f4;
     color : #666;
     font-size : 14px;
     line-height : 20px;
     padding-bottom : 40px;
-  `
+`
 
-  const ContainerNoPad = styled.div`
-    min-width : "1170px"
-  `
+const ContainerNoPad = styled.div`
+    min-width : 1170px;
+`
 
-  const BreadcrumbsDiv = styled.div`
-  padding : 10px;
-  display : flex;
-  justify-content : center;
+const BreadcrumbsDiv = styled.div`
+    padding : 10px;
+    display : flex;
+    justify-content : center;
   `
 
-  const StyledBreadcrumbs = styled(Breadcrumbs)`
+const StyledBreadcrumbs = styled(Breadcrumbs)`
     display : flex;
     justify-content : flex-start;
     max-width : 1170px;
-  `
+`
 
-  const MainContainerDesktop = styled(Container)`
+const MainContainerDesktop = styled(Container)`
     padding : 10px 0 8px 0;
-  `
+    .MuiContainer-maxWidthXl {
+        max-width : 1170px !important;
+    }
+`
 
-  const ContainerUserProfile = styled(Container)`
+const ContainerUserProfile = styled(Container)`
   padding : 0;
   background-color : #fff;
   margin-bottom: 30px;
@@ -279,17 +286,18 @@ export default function UserPage (props){
   padding-left : 0 !important;
   padding-right : 0 !important;
   margin-left : auto;
-  `
-  const HeaderContainer = styled(Container)`
+`
+const HeaderContainer = styled(Container)`
   background-color : #afeeee;
   position :  relative;
-  `
+`
 
-  const CoverContainer = styled(Container)`
+ const CoverContainer = styled(Container)`
   height : 230px;
   position : relative;
-  `
-  const ProfileAvatarDiv = styled.div`
+`
+
+const ProfileAvatarDiv = styled.div`
     bottom : -65px;
     left : 60px;
     border-radius : 100%;
@@ -300,8 +308,9 @@ export default function UserPage (props){
     border : 8px solid #fff;
     outline : 0;
     cursor : pointer;
-  `
-  export const ChangeAvatarDiv = styled.div`
+`
+
+export const ChangeAvatarDiv = styled.div`
   height : 40px;
   position: absolute;
   width : 100%;
@@ -310,18 +319,19 @@ export default function UserPage (props){
   background-color : #000;
   color : #fff;
   justify-content : center;
-  `
+`
 
-  const UserProfileInfoDiv = styled.div`
+const UserProfileInfoDiv = styled.div`
   position : absolute;
   bottom : 0;
   left : 260px;
   overflow : hidden;
   margin-bottom : 20px;
-  `
+`
 
-  const EditProfileAnchor = styled.a`
+const EditProfileAnchor = styled.a`
   Button {
+      box-shadow : 0 2px 5px 0 rgba(0,0,0,.26);
       background-color : #fafafa;
       position : absolute;
       right : 5px;
@@ -337,29 +347,32 @@ export default function UserPage (props){
       border : 0;
       display: inline-block;
       text-align : center;
+      :hover{
+        background-color : #fafafa;  
+      }
   }
-  `
+`
 
-  const CheckTeacherDiv = styled.div`
+const CheckTeacherDiv = styled.div`
   font-size : 14px;
   padding-top : 10px;
   padding-left : 250px;
   margin-bottom : -10px;
   color : #666 !important;
-  `
+`
 
-  const RodapeDiv = styled.div`
+const RodapeDiv = styled.div`
   justify-content : flex-end;
   display : flex;
-  `
+`
 
-  const NavBarContentContainer = styled(Container)`
+const NavBarContentContainer = styled(Container)`
     background-color : #fff;
     padding-bottom : 0;
     overflow-x : hidden !important;
     overflow-y : hid1den !important;
     margin-right : 0 !important;
-  `
+`
 
 const StyledTabs = styled(Tabs)`
     .MuiTab-textColorPrimary.Mui-selected {
diff --git a/src/img/no-rede-1.png b/src/img/no-rede-1.png
new file mode 100644
index 0000000000000000000000000000000000000000..7d4510823fa703462511b4b7f8f6643a2e72639f
GIT binary patch
literal 16270
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
VVy4qZK*2yD1zD9hWzuFJ{s*y%vnc=o

literal 0
HcmV?d00001

diff --git a/src/img/no-rede-2.png b/src/img/no-rede-2.png
new file mode 100644
index 0000000000000000000000000000000000000000..c94c169f7caecd6763d628b87e752a45b1cd1d79
GIT binary patch
literal 72425
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

literal 0
HcmV?d00001

diff --git a/src/img/no-rede-3.png b/src/img/no-rede-3.png
new file mode 100644
index 0000000000000000000000000000000000000000..58b934c3bc3ee2dfa597b5386d66434973fca2cf
GIT binary patch
literal 21600
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
Va4*7mH50BuSIbbdM&04pzXMD*zdQf{

literal 0
HcmV?d00001

-- 
GitLab


From d93bc8cdb7d796786d883cb13acf4e7308fe1e50 Mon Sep 17 00:00:00 2001
From: Lucas Schoenfelder <les17@inf.ufpr.br>
Date: Fri, 7 Feb 2020 18:22:10 -0300
Subject: [PATCH 11/29] perdao, to com pressa

---
 src/Components/TabPanelColecoes.js |  39 +++++++++++++++++++++++++++--
 src/img/Pagina_vazia_colecao.png   | Bin 0 -> 90303 bytes
 2 files changed, 37 insertions(+), 2 deletions(-)
 create mode 100644 src/img/Pagina_vazia_colecao.png

diff --git a/src/Components/TabPanelColecoes.js b/src/Components/TabPanelColecoes.js
index b865f48b..9a3c44da 100644
--- a/src/Components/TabPanelColecoes.js
+++ b/src/Components/TabPanelColecoes.js
@@ -6,8 +6,10 @@ import Button from '@material-ui/core/Button';
 import {ButtonMostrarTodos, ButtonMostrarMais, BtnAlinhaRecPvt, DivContainerRecursosPublicados, ContainerDivStyled, DivTitulo, StyledP, StyledHR} from './TabPanelMeusRecursos.js'
 import {NoPubSpan, DivConteudoNaoPublicado, DivTextoNoPublications} from './TabPanelMeusRecursos.js'
 import LoadingSpinner from './LoadingSpinner.js'
+import PaginaVaziaColecao from '../img/Pagina_vazia_colecao.png'
 import axios from 'axios'
 import {apiUrl} from '../env';
+import CreateNewFolderIcon from '@material-ui/icons/CreateNewFolder';
 
 export default function TabPanelColecoes (props) {
     const [loading, handleLoading] = useState(true)
@@ -54,12 +56,36 @@ export default function TabPanelColecoes (props) {
                                         <StyledP>Minhas Coleções <b style={{fontWeight:"700", fontSize:"20px"}}>({userCollectionsLength})</b></StyledP>
                                         <StyledHR/>
                                     </DivTitulo>
-                                    <div style={{height : "400px"}}>
+                                    <div style={{paddingRight:"15px", paddingLeft:"15px"}}>
+                                        <CardDiv>
+                                            <div style={{backgroundColor:"#673ab7", height:"250px", display:"flex", justifyContent:"center", alignItems:"center"}}>
+                                                <CreateNewFolderIcon style={{color:"#fff", fontSize:"70px"}}/>
+                                                <p style={{fontSize:"16px", margin:"0 0 10px"}}>
+                                                    CRIAR COLEÇÃO
+                                                </p>
+                                            </div>
+                                        </CardDiv>
                                     {
                                         userCollectionsLength == 0 ?
                                         (
                                             [
-                                                <span>Adicionar tela "criar colecao" e a imagem</span>
+                                                <DivTextoNoPublications style={{width:"50%"}}>
+                                                    <div style={{position:"relative", top:"50%", transform:"translateY(-50%)"}}>
+                                                        <div>
+                                                            <img src={PaginaVaziaColecao} alt="PaginaVaziaColecao"
+                                                            style={{height:"150px",width:"150px", verticalAlign:"middle", border:"0"}}/>
+                                                            <br/>
+                                                            <span style={{fontFamily:"Roboto", fontWeight:"lighter", fontSize:"24px"}}>
+                                                                Criamos a sua primeira Coleção!
+                                                            </span>
+                                                            <p style={{fontFamily:"Roboto", fontSize:"16px", margin:"0 0 10px"}}>
+                                                                Adicione nela recursos que você queira acessar mais tarde.
+                                                                <br/>
+                                                                Crie novas coleções clicando no cartão roxo "Criar Colecão".
+                                                            </p>
+                                                        </div>
+                                                    </div>
+                                                </DivTextoNoPublications>
                                             ]
                                         )
                                         :
@@ -121,3 +147,12 @@ export default function TabPanelColecoes (props) {
         </>
     )
 }
+
+const CardDiv = styled.div`
+    margin-top : 10px;
+    margin-bottom : 10px;
+    width : 25%;
+    float : left;
+    padding-left : 15px;
+    padding-right : 15px;
+`
diff --git a/src/img/Pagina_vazia_colecao.png b/src/img/Pagina_vazia_colecao.png
new file mode 100644
index 0000000000000000000000000000000000000000..0dbf187a01d49f7df1d69780d18ceaf38f3c4efa
GIT binary patch
literal 90303
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%0AId33LFw_F8{&%V~}LNVTFX
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

literal 0
HcmV?d00001

-- 
GitLab


From 7d22f4b97cc867273d59d033ac1467a504afba97 Mon Sep 17 00:00:00 2001
From: Lucas Schoenfelder <les17@inf.ufpr.br>
Date: Sat, 8 Feb 2020 14:49:31 -0300
Subject: [PATCH 12/29] comecando a trabalhar na pagina de editar o perfil

---
 src/App.js                                    |   4 +-
 src/Components/MenuBar.js                     |   2 +-
 .../{ => TabPanels}/ContainerRedeVazia.js     |   6 +-
 .../{ => TabPanels}/TabPanelAtividades.js     |   6 +-
 .../{ => TabPanels}/TabPanelColecoes.js       |   6 +-
 .../TabPanels/TabPanelEditarPerfil.js         |  72 ++++++++++++
 .../{ => TabPanels}/TabPanelFavoritos.js      |   4 +-
 .../TabPanels/TabPanelGerenciarConta.js       |   7 ++
 .../{ => TabPanels}/TabPanelMeusRecursos.js   |   4 +-
 .../{ => TabPanels}/TabPanelRede.js           |   4 +-
 .../TabPanelSolicitarContaProfessor.js        |   7 ++
 .../{ => TabPanels}/TabRedeImgDiv.js          |   0
 src/Pages/EditProfilePage.js                  | 103 ++++++++++++++++++
 src/Pages/UserPage.js                         |  62 ++++++-----
 14 files changed, 242 insertions(+), 45 deletions(-)
 rename src/Components/{ => TabPanels}/ContainerRedeVazia.js (95%)
 rename src/Components/{ => TabPanels}/TabPanelAtividades.js (97%)
 rename src/Components/{ => TabPanels}/TabPanelColecoes.js (98%)
 create mode 100644 src/Components/TabPanels/TabPanelEditarPerfil.js
 rename src/Components/{ => TabPanels}/TabPanelFavoritos.js (99%)
 create mode 100644 src/Components/TabPanels/TabPanelGerenciarConta.js
 rename src/Components/{ => TabPanels}/TabPanelMeusRecursos.js (99%)
 rename src/Components/{ => TabPanels}/TabPanelRede.js (98%)
 create mode 100644 src/Components/TabPanels/TabPanelSolicitarContaProfessor.js
 rename src/Components/{ => TabPanels}/TabRedeImgDiv.js (100%)
 create mode 100644 src/Pages/EditProfilePage.js

diff --git a/src/App.js b/src/App.js
index 517c0b30..3ad7a3b8 100644
--- a/src/App.js
+++ b/src/App.js
@@ -33,6 +33,7 @@ import { Store } from './Store'
 import TermsPage from './Pages/TermsPage.js'
 import PublicationPermissionsPage from './Pages/PublicationPermissionsPage.js'
 import Contact from './Pages/Contact.js'
+import EditProfilePage from './Pages/EditProfilePage.js'
 
 export default function App(){
   // eslint-disable-next-line
@@ -72,7 +73,8 @@ export default function App(){
       <Switch>
         <Route path="/" exact={true} component={Home}/>
         <Route path="/busca" component={Search} />
-        <Route path="/perfil-atualizacoes" component={UserPage} />
+        <Route path="/perfil" component={UserPage} />
+        <Route path="/editarperfil" component={EditProfilePage} />
         <Route path="/recurso" component={ResourcePage}/>
         <Route path="/termos-publicar-recurso" component={TermsPage}/>
         <Route path="/permission" component={PublicationPermissionsPage}/>
diff --git a/src/Components/MenuBar.js b/src/Components/MenuBar.js
index 74fce862..6ea7dc37 100644
--- a/src/Components/MenuBar.js
+++ b/src/Components/MenuBar.js
@@ -107,7 +107,7 @@ export default function MenuBar(props){
   ]
 
   const minhaArea = [
-      { name: "Perfil e Atividades", href: "/perfil-atualizacoes"},
+      { name: "Perfil e Atividades", href: "/perfil"},
       { name: "Recursos Publicados", href: "/perfil/recursos-publicados"},
       { name: "Favoritos", href: "/perfil/favoritos"},
       { name: "Coleções", href: "/perfil/colecoes"},
diff --git a/src/Components/ContainerRedeVazia.js b/src/Components/TabPanels/ContainerRedeVazia.js
similarity index 95%
rename from src/Components/ContainerRedeVazia.js
rename to src/Components/TabPanels/ContainerRedeVazia.js
index 287e33c1..ad3b5863 100644
--- a/src/Components/ContainerRedeVazia.js
+++ b/src/Components/TabPanels/ContainerRedeVazia.js
@@ -2,9 +2,9 @@ import React, {useContext, useState, useEffect} from 'react'
 import styled from 'styled-components'
 import { Container } from 'react-grid-system'
 import {ButtonMostrarTodos, ButtonMostrarMais, BtnAlinhaRecPvt, DivContainerRecursosPublicados, ContainerDivStyled, DivTitulo, StyledP, StyledHR} from './TabPanelMeusRecursos.js'
-import NoRede1 from '../img/no-rede-1.png'
-import NoRede2 from '../img/no-rede-2.png'
-import NoRede3 from '../img/no-rede-3.png'
+import NoRede1 from '../../img/no-rede-1.png'
+import NoRede2 from '../../img/no-rede-2.png'
+import NoRede3 from '../../img/no-rede-3.png'
 import Paper from '@material-ui/core/Paper';
 import TabRedeImgDiv from './TabRedeImgDiv.js'
 
diff --git a/src/Components/TabPanelAtividades.js b/src/Components/TabPanels/TabPanelAtividades.js
similarity index 97%
rename from src/Components/TabPanelAtividades.js
rename to src/Components/TabPanels/TabPanelAtividades.js
index 074c12ed..5e416be8 100644
--- a/src/Components/TabPanelAtividades.js
+++ b/src/Components/TabPanels/TabPanelAtividades.js
@@ -4,9 +4,9 @@ import { Container } from 'react-grid-system'
 import Paper from '@material-ui/core/Paper';
 import Button from '@material-ui/core/Button';
 import axios from 'axios'
-import {apiUrl} from '../env';
-import Bolo from '../img/Bolo.png'
-import LoadingSpinner from './LoadingSpinner.js'
+import {apiUrl} from '../../env';
+import Bolo from '../../img/Bolo.png'
+import LoadingSpinner from '../LoadingSpinner.js'
 
 export default function TabPanelAtividades (props) {
     const [notifications, setNotifications] = useState([]);
diff --git a/src/Components/TabPanelColecoes.js b/src/Components/TabPanels/TabPanelColecoes.js
similarity index 98%
rename from src/Components/TabPanelColecoes.js
rename to src/Components/TabPanels/TabPanelColecoes.js
index 9a3c44da..fbe39831 100644
--- a/src/Components/TabPanelColecoes.js
+++ b/src/Components/TabPanels/TabPanelColecoes.js
@@ -5,10 +5,10 @@ import Paper from '@material-ui/core/Paper';
 import Button from '@material-ui/core/Button';
 import {ButtonMostrarTodos, ButtonMostrarMais, BtnAlinhaRecPvt, DivContainerRecursosPublicados, ContainerDivStyled, DivTitulo, StyledP, StyledHR} from './TabPanelMeusRecursos.js'
 import {NoPubSpan, DivConteudoNaoPublicado, DivTextoNoPublications} from './TabPanelMeusRecursos.js'
-import LoadingSpinner from './LoadingSpinner.js'
-import PaginaVaziaColecao from '../img/Pagina_vazia_colecao.png'
+import LoadingSpinner from '../LoadingSpinner.js'
+import PaginaVaziaColecao from '../../img/Pagina_vazia_colecao.png'
 import axios from 'axios'
-import {apiUrl} from '../env';
+import {apiUrl} from '../../env';
 import CreateNewFolderIcon from '@material-ui/icons/CreateNewFolder';
 
 export default function TabPanelColecoes (props) {
diff --git a/src/Components/TabPanels/TabPanelEditarPerfil.js b/src/Components/TabPanels/TabPanelEditarPerfil.js
new file mode 100644
index 00000000..dc90dc09
--- /dev/null
+++ b/src/Components/TabPanels/TabPanelEditarPerfil.js
@@ -0,0 +1,72 @@
+import React, {useContext} from 'react'
+import styled from 'styled-components'
+import { Store } from '../../Store.js';
+import Button from '@material-ui/core/Button';
+import IconButton from '@material-ui/core/IconButton';
+import PhotoCamera from '@material-ui/icons/PhotoCamera';
+import Tooltip from '@material-ui/core/Tooltip';
+
+export default function TabPanelEditarPerfil (props) {
+    const {state, dispatch} = useContext(Store)
+
+    const updateCover = (selectorFiles : FileList) => {
+        console.log(selectorFiles)
+        console.log(selectorFiles[0].name)
+    }
+
+    return (
+        <ContainerDIv>
+            <h1 style={{fontSize:"30px", fontWeight:"300", marginTop:"0", marginBottom:"10px"}}>Editar Perfil </h1>
+                <ContentDiv>
+                    <div style={{padding:"0", display:"flex", flexDirection:"column"}}>
+                        <HeaderContainer>
+                            <div style={{position:"relative", height:"100%"}}>
+                                <img src={state.currentUser.userCover} alt="user cover avatar" style={{width:"100%", height:"100%", objectFit:"cover"}}/>
+                                <input accept="image/*" style = {{display:"none"}} id="icon-button-file" type="file" onChange={(e) => updateCover(e.target.files)}/>
+                                <label htmlFor="icon-button-file">
+                                    <Tooltip title={<span style={{fontSize:"14px", overflow:"hidden", transition:"all .5s ease"}}>ALTERAR CAPA</span>} placement="left">
+                                        <IconButton style={{position:"absolute",right:"0",top:"0",color:"#fff"}}color="primary" aria-label="upload picture" component="span">
+                                            <PhotoCamera />
+                                        </IconButton>
+                                    </Tooltip>
+                                </label>
+                            </div>
+                        </HeaderContainer>
+                    </div>
+                </ContentDiv>
+        </ContainerDIv>
+    )
+}
+
+const HeaderContainer = styled.div`
+    background-color : #afeeee;
+    position : relative;
+    height : 150px;
+    border-radius : 8px;
+`
+
+const ContentDiv = styled.div`
+    display : flex;
+    flex-direction : column;
+    align-content : stretch;
+    align-items : stretch;
+    font-family : 'Roboto', sans serif !important;
+    font-size : 14px;
+    justify-content : center;
+    line-height : 20px;
+    text-align : center;
+    color : #666;
+`
+
+const ContainerDIv = styled.div`
+    box-shadow : 0 0 5px 0rgba(0,0,0,.25);
+    background-color : #fff;
+    text-align : start;
+    margin-left : auto;
+    margin-right : auto;
+    padding : 40px;
+    margin : 20px 0 20px 10px;
+    border-radius : 3px;
+    display : flex;
+    flex-direction : column;
+`
diff --git a/src/Components/TabPanelFavoritos.js b/src/Components/TabPanels/TabPanelFavoritos.js
similarity index 99%
rename from src/Components/TabPanelFavoritos.js
rename to src/Components/TabPanels/TabPanelFavoritos.js
index 71c3e50a..3cb7ea74 100644
--- a/src/Components/TabPanelFavoritos.js
+++ b/src/Components/TabPanels/TabPanelFavoritos.js
@@ -4,10 +4,10 @@ import { Container } from 'react-grid-system'
 import Paper from '@material-ui/core/Paper';
 import Button from '@material-ui/core/Button';
 import axios from 'axios'
-import {apiUrl} from '../env';
+import {apiUrl} from '../../env';
 import {ButtonMostrarTodos, ButtonMostrarMais, BtnAlinhaRecPvt, DivContainerRecursosPublicados, ContainerDivStyled, DivTitulo, StyledP, StyledHR} from './TabPanelMeusRecursos.js'
 import {NoPubSpan, DivConteudoNaoPublicado, DivTextoNoPublications} from './TabPanelMeusRecursos.js'
-import LoadingSpinner from './LoadingSpinner.js'
+import LoadingSpinner from '../LoadingSpinner.js'
 
 export default function TabPanelFavoritos (props) {
     const [loading, handleLoading] = useState(true)
diff --git a/src/Components/TabPanels/TabPanelGerenciarConta.js b/src/Components/TabPanels/TabPanelGerenciarConta.js
new file mode 100644
index 00000000..cb552890
--- /dev/null
+++ b/src/Components/TabPanels/TabPanelGerenciarConta.js
@@ -0,0 +1,7 @@
+import React from 'react'
+
+export default function TabPanelGerenciarConta (props) {
+    return (
+        <span>a</span>
+    )
+}
diff --git a/src/Components/TabPanelMeusRecursos.js b/src/Components/TabPanels/TabPanelMeusRecursos.js
similarity index 99%
rename from src/Components/TabPanelMeusRecursos.js
rename to src/Components/TabPanels/TabPanelMeusRecursos.js
index 29864d8c..5e4c0616 100644
--- a/src/Components/TabPanelMeusRecursos.js
+++ b/src/Components/TabPanels/TabPanelMeusRecursos.js
@@ -4,8 +4,8 @@ import { Container } from 'react-grid-system'
 import Paper from '@material-ui/core/Paper';
 import Button from '@material-ui/core/Button';
 import axios from 'axios'
-import {apiUrl} from '../env';
-import LoadingSpinner from './LoadingSpinner.js'
+import {apiUrl} from '../../env';
+import LoadingSpinner from '../LoadingSpinner.js'
 
 export default function TabPanelAtividades (props) {
     const [loading, handleLoading] = useState(true)
diff --git a/src/Components/TabPanelRede.js b/src/Components/TabPanels/TabPanelRede.js
similarity index 98%
rename from src/Components/TabPanelRede.js
rename to src/Components/TabPanels/TabPanelRede.js
index 8a7f2d4b..2eb21b00 100644
--- a/src/Components/TabPanelRede.js
+++ b/src/Components/TabPanels/TabPanelRede.js
@@ -5,8 +5,8 @@ import Paper from '@material-ui/core/Paper';
 import Button from '@material-ui/core/Button';
 import {ButtonMostrarTodos, ButtonMostrarMais, BtnAlinhaRecPvt, DivContainerRecursosPublicados, ContainerDivStyled, DivTitulo, StyledP, StyledHR} from './TabPanelMeusRecursos.js'
 import axios from 'axios'
-import {apiUrl} from '../env';
-import LoadingSpinner from './LoadingSpinner.js'
+import {apiUrl} from '../../env';
+import LoadingSpinner from '../LoadingSpinner.js'
 import ContainerRedeVazia from './ContainerRedeVazia.js'
 import {NoPubSpan, DivConteudoNaoPublicado, DivTextoNoPublications} from './TabPanelMeusRecursos.js'
 
diff --git a/src/Components/TabPanels/TabPanelSolicitarContaProfessor.js b/src/Components/TabPanels/TabPanelSolicitarContaProfessor.js
new file mode 100644
index 00000000..c350edba
--- /dev/null
+++ b/src/Components/TabPanels/TabPanelSolicitarContaProfessor.js
@@ -0,0 +1,7 @@
+import React from 'react'
+
+export default function TabPanelSolicitarContaProfessor (props) {
+    return (
+        <span>a</span>
+    )
+}
diff --git a/src/Components/TabRedeImgDiv.js b/src/Components/TabPanels/TabRedeImgDiv.js
similarity index 100%
rename from src/Components/TabRedeImgDiv.js
rename to src/Components/TabPanels/TabRedeImgDiv.js
diff --git a/src/Pages/EditProfilePage.js b/src/Pages/EditProfilePage.js
new file mode 100644
index 00000000..f3f4e041
--- /dev/null
+++ b/src/Pages/EditProfilePage.js
@@ -0,0 +1,103 @@
+import React, {useState, useContext, useEffect} from 'react';
+import styled from 'styled-components'
+import {Link} from 'react-router-dom'
+import Breadcrumbs from '@material-ui/core/Breadcrumbs';
+import {BreadcrumbsDiv, StyledBreadcrumbs} from './UserPage.js'
+import Tabs from '@material-ui/core/Tabs'
+import Tab from '@material-ui/core/Tab';
+import Paper from '@material-ui/core/Paper';
+import TabPanelEditarPerfil from '../Components/TabPanels/TabPanelEditarPerfil.js'
+import TabPanelSolicitarContaProfessor from '../Components/TabPanels/TabPanelSolicitarContaProfessor.js'
+import TabPanelGerenciarConta from '../Components/TabPanels/TabPanelGerenciarConta.js'
+
+export default function EditProfilePage (props) {
+    const [tabs, setTabs] = useState([
+        'Editar Perfil', 'Solicitar conta de Professor', 'Gerenciar Conta'
+    ])
+    const [tabValue, setTabValue] = useState(0)
+    const handleChangeTab = (e, newValue) => {
+        setTabValue(newValue)
+    }
+
+    return (
+        <div style={{backgroundColor:"#f4f4f4", color:"#666"}}>
+            <BreadcrumbsDiv>
+                <StyledBreadcrumbs>
+                    <Link to="/" style={{color:"#00bcd4", textDecoration:"none"}}>
+                        Página Inicial
+                    </Link>
+                    <span>
+                        Minha área
+                    </span>
+                    <span>
+                        Configurações da Conta
+                    </span>
+                    <span>
+                        {tabs[tabValue]}
+                    </span>
+                </StyledBreadcrumbs>
+            </BreadcrumbsDiv>
+
+            <MainContainerDiv>
+                <div style={{width : "auto", fontFamily:"Roboto"}}>
+                    <Paper elevation={3} style= {{width:"max-content"}}>
+                        <ConfiguracoesMenu>
+                            <h4 style={{marginTop:"10px", fontFamily:"inherit", display:"flex", justifyContent:"center"}}>
+                            Configurações da Conta
+                            </h4>
+                            <StyledTabs
+                                orientation = "vertical"
+                                variant = "scrollable"
+                                value = {tabValue}
+                                onChange = {handleChangeTab}
+                                TabIndicatorProps = {{style : {display : "none"}}}
+                            >
+                                <StyledTab label={tabs[0]}/>
+                                <StyledTab label={tabs[1]}/>
+                                <StyledTab label={tabs[2]}/>
+                            </StyledTabs>
+                        </ConfiguracoesMenu>
+                    </Paper>
+                </div>
+                <div style={{width : "auto", paddingLeft:"1em"}}>
+                    <Paper elevation={3} style= {{width:"max-content"}}>
+                        {tabValue === 0 && <TabPanelEditarPerfil/>}
+                        {tabValue === 1 && <TabPanelSolicitarContaProfessor/>}
+                        {tabValue === 2 && <TabPanelGerenciarConta/>}
+                    </Paper>
+                </div>
+            </MainContainerDiv>
+        </div>
+    )
+}
+
+const StyledTabs = styled(Tabs)`
+    .Mui-selected {
+        background-color : #f4f4f4;
+    }
+`
+
+const StyledTab = styled(Tab)`
+    &:hover {
+        background-color : #6666663d;
+    }
+`
+
+const ConfiguracoesMenu = styled.div`
+    margin : 20px 0 20px 0;
+    border-radius : 3px;
+    padding : 20px 0;
+    background-color : #fff;
+    text-align : start;
+`
+
+const MainContainerDiv = styled.div`
+    padding : 0;
+    width : 1170;
+    margin-right : auto;
+    margin-left : auto;
+    display : flex;
+    flex-direction : row;
+    align-content : center;
+    justify-content : center;
+`
diff --git a/src/Pages/UserPage.js b/src/Pages/UserPage.js
index 89026587..2b9ce6e0 100644
--- a/src/Pages/UserPage.js
+++ b/src/Pages/UserPage.js
@@ -24,7 +24,7 @@ import IconButton from '@material-ui/core/IconButton';
 import PhotoCamera from '@material-ui/icons/PhotoCamera';
 import Tooltip from '@material-ui/core/Tooltip';
 import Breadcrumbs from '@material-ui/core/Breadcrumbs';
-import Link from '@material-ui/core/Link';
+import {Link} from 'react-router-dom';
 import Popover from '@material-ui/core/Popover';
 import { Store } from '../Store.js';
 import EditIcon from '@material-ui/icons/Edit';
@@ -32,11 +32,11 @@ import CheckDecagram from '../img/check-decagram-gray.svg'
 import Tabs from '@material-ui/core/Tabs';
 import Tab from '@material-ui/core/Tab';
 import Paper from '@material-ui/core/Paper';
-import TabPanelAtividades from '../Components/TabPanelAtividades.js'
-import TabPanelMeusRecursos from '../Components/TabPanelMeusRecursos.js'
-import TabPanelFavoritos from '../Components/TabPanelFavoritos.js'
-import TabPanelColecoes from '../Components/TabPanelColecoes.js'
-import TabPanelRede from '../Components/TabPanelRede.js'
+import TabPanelAtividades from '../Components/TabPanels/TabPanelAtividades.js'
+import TabPanelMeusRecursos from '../Components/TabPanels/TabPanelMeusRecursos.js'
+import TabPanelFavoritos from '../Components/TabPanels/TabPanelFavoritos.js'
+import TabPanelColecoes from '../Components/TabPanels/TabPanelColecoes.js'
+import TabPanelRede from '../Components/TabPanels/TabPanelRede.js'
 import axios from 'axios'
 import {apiUrl} from '../env';
 import ModalAlterarAvatar from '../Components/ModalAlterarAvatar.js'
@@ -44,7 +44,10 @@ import ModalAlterarAvatar from '../Components/ModalAlterarAvatar.js'
 export default function UserPage (props){
     const {state, dispatch} = useContext(Store)
     const [hoverAlterarFoto, handleAlterarFoto] = React.useState(false)
-    const [value, setValue] = useState(0);
+    const [tabValue, setTabValue] = useState(0);
+    const [tabs, setTabs] = useState([
+        'Atividades', 'Meus Recursos', 'Favoritos', 'Coleções', 'Rede'
+    ])
     const user = localStorage.getItem('@portalmec/username')
     const id = localStorage.getItem('@portalmec/id')
     const [modalOpen, handleModal] = useState(false)
@@ -102,7 +105,7 @@ export default function UserPage (props){
     }
 
     const handleChangeTab = (event, newValue) => {
-        setValue(newValue)
+        setTabValue(newValue)
     }
 
     const updateCover = (selectorFiles : FileList) => {
@@ -126,14 +129,14 @@ export default function UserPage (props){
                             <ContainerNoPad>
                                 <BreadcrumbsDiv>
                                     <StyledBreadcrumbs>
-                                        <Link href="/" style={{color:"#00bcd4"}}>
+                                        <Link to="/" style={{color:"#00bcd4", textDecoration:"none"}}>
                                             Página Inicial
                                         </Link>
-                                        <span style={{color:"#a5a5a5"}}>
+                                        <span>
                                             Minha área
                                         </span>
-                                        <span style={{color:"#a5a5a5"}}>
-                                            Atividades
+                                        <span>
+                                            {tabs[tabValue]}
                                         </span>
                                     </StyledBreadcrumbs>
                                 </BreadcrumbsDiv>
@@ -166,7 +169,7 @@ export default function UserPage (props){
                                                     <p>{state.currentUser.education}</p>
                                                 </div>
                                             </UserProfileInfoDiv>
-                                            <EditProfileAnchor href="/perfil/configuracoes/editarperfil">
+                                            <EditProfileAnchor to="/editarperfil">
                                                 <Button>
                                                     <EditIcon style={{marginRight:"5px", verticalAlign:"middle"}}/> <span>EDITAR PERFIL</span>
                                                 </Button>
@@ -204,7 +207,7 @@ export default function UserPage (props){
                                         <RodapeDiv>
                                             <NavBarContentContainer>
                                                 <StyledTabs
-                                                    value ={value}
+                                                    value ={tabValue}
                                                     onChange ={handleChangeTab}
                                                     indicatorColor ="primary"
                                                     textColor ="primary"
@@ -212,11 +215,11 @@ export default function UserPage (props){
                                                     scrollButtons = "auto"
                                                     TabIndicatorProps={{style : {background:"#00bcd4"}}}
                                                 >
-                                                    <StyledTab label="Atividades"/>
-                                                    <StyledTab label="Meus Recursos"/>
-                                                    <StyledTab label="Favoritos"/>
-                                                    <StyledTab label="Coleções"/>
-                                                    <StyledTab label="Rede"/>
+                                                    <StyledTab label={tabs[0]}/>
+                                                    <StyledTab label={tabs[1]}/>
+                                                    <StyledTab label={tabs[2]}/>
+                                                    <StyledTab label={tabs[3]}/>
+                                                    <StyledTab label={tabs[4]}/>
                                                 </StyledTabs>
                                             </NavBarContentContainer>
                                         </RodapeDiv>
@@ -224,11 +227,11 @@ export default function UserPage (props){
                                     </Paper>
                                 </MainContainerDesktop>
                                 </div>
-                                {value === 0 && <TabPanelAtividades id={id} config={config}/>}
-                                {value === 1 && <TabPanelMeusRecursos id={id} config={config}/>}
-                                {value === 2 && <TabPanelFavoritos id={id} config={config}/>}
-                                {value === 3 && <TabPanelColecoes id={id} config={config}/>}
-                                {value === 4 && <TabPanelRede id={id} config={config}/>}
+                                {tabValue === 0 && <TabPanelAtividades id={id} config={config}/>}
+                                {tabValue === 1 && <TabPanelMeusRecursos id={id} config={config}/>}
+                                {tabValue === 2 && <TabPanelFavoritos id={id} config={config}/>}
+                                {tabValue === 3 && <TabPanelColecoes id={id} config={config}/>}
+                                {tabValue === 4 && <TabPanelRede id={id} config={config}/>}
                             </ContainerNoPad>
                         </HeaderDiv>
                     </React.Fragment>
@@ -258,16 +261,19 @@ const ContainerNoPad = styled.div`
     min-width : 1170px;
 `
 
-const BreadcrumbsDiv = styled.div`
+export const BreadcrumbsDiv = styled.div`
     padding : 10px;
     display : flex;
     justify-content : center;
   `
 
-const StyledBreadcrumbs = styled(Breadcrumbs)`
+export const StyledBreadcrumbs = styled(Breadcrumbs)`
     display : flex;
     justify-content : flex-start;
     max-width : 1170px;
+    span {
+        color : #a5a5a5;
+    }
 `
 
 const MainContainerDesktop = styled(Container)`
@@ -329,7 +335,7 @@ const UserProfileInfoDiv = styled.div`
   margin-bottom : 20px;
 `
 
-const EditProfileAnchor = styled.a`
+const EditProfileAnchor = styled(Link)`
   Button {
       box-shadow : 0 2px 5px 0 rgba(0,0,0,.26);
       background-color : #fafafa;
@@ -348,7 +354,7 @@ const EditProfileAnchor = styled.a`
       display: inline-block;
       text-align : center;
       :hover{
-        background-color : #fafafa;  
+        background-color : #fafafa;
       }
   }
 `
-- 
GitLab


From 0b9cf1958bec551972157fefb9ecc45642dc77e4 Mon Sep 17 00:00:00 2001
From: Lucas Schoenfelder <les17@inf.ufpr.br>
Date: Sat, 8 Feb 2020 17:11:42 -0300
Subject: [PATCH 13/29] login e signup transformados em funcao; primeira aba de
 editar perfil quase pronta

---
 src/Components/LoginContainerFunction.js      |  25 +-
 src/Components/LoginModal.js                  |   2 +-
 src/Components/MenuBar.js                     |   2 +
 src/Components/SignUpContainerFunction.js     | 364 ++++++++++++++++++
 src/Components/SignUpModal.js                 |   2 +-
 .../TabPanels/TabPanelEditarPerfil.js         | 227 ++++++++++-
 6 files changed, 607 insertions(+), 15 deletions(-)
 create mode 100644 src/Components/SignUpContainerFunction.js

diff --git a/src/Components/LoginContainerFunction.js b/src/Components/LoginContainerFunction.js
index c55da450..aae88a65 100644
--- a/src/Components/LoginContainerFunction.js
+++ b/src/Components/LoginContainerFunction.js
@@ -48,7 +48,7 @@ export default function LoginContainer (props) {
         {
             dict : {
                 key : false,
-                value : ""
+                value : localStorage.getItem("@portalmec/email") || "",
             }
         }
     )
@@ -57,12 +57,12 @@ export default function LoginContainer (props) {
         {
             dict : {
                 key : false,
-                value : ""
+                value : localStorage.getItem("@portalmec/senha") ||""
             }
         }
     )
 
-    const [checkboxControl, handleCheckbox] = useState(false)
+    const [checkboxControl, setCheckbox] = useState(false)
 
     const switchModal = (e) => {
         e.preventDefault()
@@ -104,16 +104,13 @@ export default function LoginContainer (props) {
 
     const onSubmit = (e) => {
         e.preventDefault()
-        const login = {email : formEmail.dict.value, senha : formSenha.dict.value}
+        const login = {email : formEmail.dict.value, senha : formSenha.dict.value, checkbox : checkboxControl}
 
-        if (!(formEmail.dict.key && formSenha.dict.key)) {
+        if (!(formEmail.dict.key || formSenha.dict.key)) {
             props.handleLoginInfo(login)
             limpaCamposForm()
         }
 
-        {/*if (checkboxControl) {
-            props.lembrarMe()
-        }*/}
     }
 
     //arrumar isso
@@ -153,28 +150,32 @@ export default function LoginContainer (props) {
                         </H3Styled>
                     </H3Div>
 
-                    <form ref="form" onSubmit={e => onSubmit(e)}>
+                    <form onSubmit={e => onSubmit(e)}>
                         <FormInput
                             inputType={"text"}
                             name={"email"}
-                            value={formEmail}
+                            value={formEmail.dict.value}
                             placeholder={"E-mail"}
                             handleChange={e => handleChange(e, 'email')}
                             required={true}
+                            error = {formEmail.dict.key}
+                            help = {formEmail.dict.key ? ( formEmail.dict.value.length == 0 ? "Faltou preencher seu e-mail." : <span>Insira um endereço de e-mail válido.<br/>Por exemplo: seunome@gmail.com, seunome@hotmail.com</span>) : ""}
                         />
                         <br/>
                         <FormInput
                             inputType={"password"}
                             name={"senha"}
-                            value={formSenha}
+                            value={formSenha.dict.value}
                             placeholder={"Senha"}
                             handleChange={e => handleChange(e, 'senha')}
                             required={true}
+                            error = {formSenha.dict.key}
+                            help = {formSenha.dict.key ? "Faltou digitar sua senha." : ""}
                         />
                         <br/>
 
                         <RememberRecover>
-                            <LabeledCheckbox label={<StyledLabel><StyledSpan>Lembrar-me</StyledSpan></StyledLabel>} onchange={() => {handleCheckbox(!checkboxControl)}} disabledCheckbox={checkboxControl}/>
+                            <LabeledCheckbox label={<StyledLabel><StyledSpan>Lembrar-me</StyledSpan></StyledLabel>} handleChange={() => setCheckbox(!checkboxControl)}/>
                             <UserForgotTheirPasswordSpan>Esqueceu a senha? <a href="recuperar-senha" style={{textAlign: "right", color:"#4cd0e1"}}>Clique aqui!</a></UserForgotTheirPasswordSpan>
                         </RememberRecover>
 
diff --git a/src/Components/LoginModal.js b/src/Components/LoginModal.js
index 3b0482fd..90601b64 100644
--- a/src/Components/LoginModal.js
+++ b/src/Components/LoginModal.js
@@ -22,7 +22,7 @@ import Modal from '@material-ui/core/Modal';
 import Backdrop from '@material-ui/core/Backdrop';
 import Zoom from '@material-ui/core/Fade';
 import styled from 'styled-components'
-import LoginContainer from './LoginContainer.js'
+import LoginContainer from './LoginContainerFunction.js'
 import {Store} from '../Store.js'
 import axios from 'axios'
 import {apiUrl} from '../env';
diff --git a/src/Components/MenuBar.js b/src/Components/MenuBar.js
index 6ea7dc37..0b13e96a 100644
--- a/src/Components/MenuBar.js
+++ b/src/Components/MenuBar.js
@@ -51,6 +51,7 @@ const ButtonPublicarRecurso = styled(Button)`
     border : 1px transparent solid;
     background-color : #ff7f00 !important;
     align-content : center;
+    font-weight : 500 !important;
     text-transform: capitalize !important;
     font-stretch : expanded;
     max-width: 200 !important;
@@ -81,6 +82,7 @@ const Left = styled.span `
 `
 
 const ButtonPubRecursoStyled = styled(Button)`
+    font-weight : 500 !important;
     border : 1.5px #666 solid !important;
     color: #666;
     box-shadow: none;
diff --git a/src/Components/SignUpContainerFunction.js b/src/Components/SignUpContainerFunction.js
new file mode 100644
index 00000000..23e63006
--- /dev/null
+++ b/src/Components/SignUpContainerFunction.js
@@ -0,0 +1,364 @@
+/*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} from "react";
+import GoogleLogin from 'react-google-login'
+import { Button } from '@material-ui/core';
+//import FacebookLogin from 'react-facebook-login';
+import CloseIcon from '@material-ui/icons/Close';
+import styled from 'styled-components'
+import {device} from './device.js'
+import FormInput from "./FormInput.js"
+import {StyledCloseModalButton, DialogContentDiv, DialogHeaderStyled, SocialConnectDiv, StyledGoogleLoginButton, H3Div} from './LoginContainer.js'
+
+var Recaptcha = require('react-recaptcha')
+
+var callback = function () {
+  console.log('Done!!!!');
+};
+
+function validateUserInput(type, input) {
+    let flag = false
+
+    if (type === 'nome') {
+        if(input.length < 1) {
+            flag = true
+        }
+    }
+    else if (type === 'email') {
+        if(input.split("").filter(x => x === "@").length !== 1) {
+            flag = true
+        }
+    }
+    else if (type === 'senha') {
+        if(input.length < 1) {
+            flag = true
+        }
+    }
+
+    return flag
+}
+
+export default function SignUpContainer (props) {
+    const [formNome, setNome] = useState(
+        {
+            dict : {
+                key : false,
+                value : "",
+            }
+        }
+    )
+
+    const [formEmail, setEmail] = useState(
+        {
+            dict : {
+                key : false,
+                value : "",
+            }
+        }
+    )
+
+    const [formSenha, setSenha] = useState(
+        {
+            dict : {
+                key : false,
+                value : ""
+            }
+        }
+    )
+
+    const handleChange = (e, type) => {
+        const userInput = e.target.value
+        const flag = validateUserInput(type, userInput)
+
+        if (type === 'nome') {
+            setNome({...formNome, dict : {
+                key : flag,
+                value : userInput
+            }})
+            console.log(formNome)
+        }
+        else if(type === 'email') {
+            setEmail({...formEmail, dict : {
+                key : flag,
+                value : userInput
+            }})
+            console.log(formEmail)
+        }
+        else if(type === 'senha') {
+            setSenha({...formSenha, dict : {
+                key : flag,
+                value : userInput
+            }})
+            console.log(formSenha)
+        }
+    }
+
+    const limpaCamposForm = () => {
+        setNome({...formNome, dict : {
+            key : false,
+            value : ''
+        }})
+
+        setEmail({...formEmail, dict : {
+            key : false,
+            value : ''
+        }});
+
+        setSenha({...formSenha, dict : {
+            key : false,
+            value : ''
+        }})
+    }
+
+    const responseGoogle = (response) => {
+      console.log(response);
+    }
+
+    const switchModal = (e) => {
+        e.preventDefault()
+        props.handleClose()
+        props.openLogin()
+    };
+
+    const onSubmit = (e) => {
+        e.preventDefault();
+        const newLogin = {name : formNome.dict.value, email : formEmail.dict.value, password : formSenha.dict.value}
+
+        if (!(formNome.dict.key || formEmail.dict.key || formSenha.dict.key)) {
+            props.handleLoginInfo(newLogin)
+            limpaCamposForm()
+        }
+    }
+
+    return (
+        <ContainerStyled >
+            <DialogHeaderStyled>
+                <span style={{width:"32px"}}/>
+                <H2Styled> Cadastrar-se
+                </H2Styled>
+                <StyledCloseModalButton onClick={props.handleClose} >
+                    <CloseIcon />
+                </StyledCloseModalButton>
+            </DialogHeaderStyled>
+
+            <DialogContentDiv>
+                <SocialConnectDiv>
+                    <StyledGoogleLoginButton
+                        clientId="658977310896-knrl3gka66fldh83dao2rhgbblmd4un9.apps.googleusercontent.com"
+                        onSuccess={responseGoogle}
+                        onFailure={responseGoogle}
+                        cookiePolicy={'single_host_origin'}
+                    >
+                        <span style={{textTransform:"none", fontSize:"13px"}}>Usando o Google</span>
+                    </StyledGoogleLoginButton>
+                </SocialConnectDiv>
+
+                <H3Div>
+                    <H3Styled>
+                        <RightSideStrikedH3/>
+                        <span style={{verticalAlign:"middle"}}>ou</span>
+                        <LeftSideStrikedH3/>
+                    </H3Styled>
+                </H3Div>
+
+                <form onSubmit={onSubmit}>
+                    <FormInput
+                        inputType={"text"}
+                        name={"name"}
+                        value={formNome.dict.value}
+                        placeholder={"Nome Completo"}
+                        handleChange={e => handleChange(e, 'nome')}
+                        required={true}
+                        error={formNome.dict.key}
+                    />
+                    <br/>
+                    <FormInput
+                        inputType={"text"}
+                        name={"email"}
+                        value={formEmail.dict.value}
+                        placeholder={"E-mail"}
+                        handleChange={e => handleChange(e, 'email')}
+                        required={true}
+                        error={formEmail.dict.key}
+                        help = {formEmail.dict.key ? (formEmail.dict.value.length == 0 ? "Faltou preencher seu e-mail." : <span>Insira um endereço de e-mail válido.<br/>Por exemplo: seunome@gmail.com, seunome@hotmail.com</span>) : ""}
+                        />
+                    <br/>
+                    <FormInput
+                        inputType={"password"}
+                        name={"password"}
+                        value={formSenha.dict.value}
+                        placeholder={"Senha"}
+                        handleChange={e => handleChange(e, 'senha')}
+                        required={true}
+                        error={formSenha.dict.key}
+                        help={formSenha.dict.key ? "Faltou definir uma senha." : ""}
+                        />
+                    <br/>
+                    <Recaptcha
+                        sitekey="6LcyFr8UAAAAAOd0Po6rmZC1D_nYik8nLCAkNKsc"
+                        size="normal"
+                        render="explicit"
+                        onloadCallback={callback}
+                    />
+                    <ConfirmContainerStyled>
+                        <StyledSignUpButton type="submit" variant="contained">
+                            <span
+                                style={{paddingLeft:"16px", paddingRight:"16px", borderRadius:"3px", boxSizing:"border-box",
+                                    fontFamily:"Roboto, sans serif", fontWeight:"500", color:"#fff"}}
+                            >
+                                CADASTRAR
+                            </span>
+                        </StyledSignUpButton>
+                    </ConfirmContainerStyled>
+                </form>
+
+                <TermosDeUsoStyled>
+                    <p>Ao se cadastrar, você está aceitando os Termos de Uso e de Política
+                    de Privacidade. <a href="./">Ler Termos</a>.</p>
+                </TermosDeUsoStyled>
+
+                <DialogFooterStyled>
+                    <span style={{textAlign:"center", fontSize: "14px"}}>Já possui cadastro? <StyledAnchor href="" onClick={e => switchModal(e)}>ENTRAR</StyledAnchor></span>
+                </DialogFooterStyled>
+            </DialogContentDiv>
+        </ContainerStyled>
+    )
+}
+
+const ContainerStyled = styled.div`
+    box-sizing : border-box;
+    background-color : white;
+    max-width : none;
+    align : center;
+    display : flex;
+    flex-direction : column;
+    min-width : 450px;
+
+    max-height : none;
+    position : relative;
+    padding : 10px;
+    @media ${device.mobileM} {
+        width : 100%;
+        height : 100%;
+    }
+`
+
+const DialogFooterStyled = styled.div`
+    box-sizing : border-box;
+    font-family : 'Roboto', sans serif;
+    margin : 20px -20px;
+    padding-top : 20px;
+    border-top : 1px #e5e5e5 solid;
+    justify-content : center;
+    text-align : center;
+    line-height : 1.42857143
+`
+
+const TermosDeUsoStyled = styled.div`
+    font-family: 'Roboto', sans serif, 'Helvetica Neue', Helvetica, Arial, sans-serif;
+    color : #666;
+    font-size : 13px;
+    margin : 0 0 10px;
+    max-width : 350px;
+    margin-top : 10px;
+    text-align : start;
+`
+
+const H2Styled = styled.h2`
+    align-self : center;
+    color : #666;
+    font-size : 26px;
+    font-weight : lighter;
+    justify-content: space-between;
+    font-family: 'Roboto', sans serif, 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
+    text-align: center;
+    letter-spacing: .005em;
+`
+
+const H3Styled = styled.h3`
+    overflow : hidden;
+    text-align : center;
+    font-size : 14px;
+    color : #666;
+    margin : 10px 0;
+`
+const RightSideStrikedH3 = styled.div`
+    display :  inline-block;
+    border-bottom: 1px dotted #666;
+    vertical-align :  middle;
+    font-weight : 500;
+    margin-right : 5px;
+    width : 45%;
+`
+
+const LeftSideStrikedH3 = styled.div`
+    display :  inline-block;
+    border-bottom: 1px dotted #666;
+    vertical-align :  middle;
+    font-weight : 500;
+    margin-left : 5px;
+    width : 45%;
+`
+
+const StyledAnchor = styled.a`
+    color : #00bcd4;
+    text-decoration : none;
+`
+//const StyledCloseModalButton = styled(Button)`
+//    display : inline-block;
+//    position : relative;
+//    float : right !important;
+//    margin-right : -8px;
+//    background : transparent;
+//    min-width: 0 !important;
+//    width : 40px;
+//`
+
+const ConfirmContainerStyled = styled.div`
+    display :  flex;
+    margin-top : 10px;
+    align-items : center;
+    justify-content : center;
+    box-sizing : border-box;
+    font-size : 13px;
+`
+
+const StyledSignUpButton = styled(Button)`
+    background-color: #00bcd4 !important;
+    box-shadow : none !important;
+    outline: none !important;
+    border : 0 !important;
+    overflow : hidden !important;
+    width : 50% !important;
+    display : inline-block !important;
+    font-family : 'Roboto', sans serif !important;
+    font-size: 14px !important;
+    height : 36px !important;
+    align-items : center !important;
+    border-radius: 3px !important;
+    align-self : 50% !important;
+    :hover {
+        background-color : #00acc1 !important;
+    }
+`
+
+const StyledRecaptcha = styled(Recaptcha)`
+    display : flex !important;
+    justify-content : center !important;
+`
diff --git a/src/Components/SignUpModal.js b/src/Components/SignUpModal.js
index 49386ce7..a04c9420 100644
--- a/src/Components/SignUpModal.js
+++ b/src/Components/SignUpModal.js
@@ -22,7 +22,7 @@ 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 './SignUpContainer.js'
+import SignUpContainer from './SignUpContainerFunction.js'
 import {Store} from '../Store.js'
 import axios from 'axios'
 import {apiUrl} from '../env';
diff --git a/src/Components/TabPanels/TabPanelEditarPerfil.js b/src/Components/TabPanels/TabPanelEditarPerfil.js
index dc90dc09..e2503a72 100644
--- a/src/Components/TabPanels/TabPanelEditarPerfil.js
+++ b/src/Components/TabPanels/TabPanelEditarPerfil.js
@@ -1,19 +1,101 @@
-import React, {useContext} from 'react'
+import React, {useContext, useState} from 'react'
 import styled from 'styled-components'
 import { Store } from '../../Store.js';
+import {Link} from 'react-router-dom'
 import Button from '@material-ui/core/Button';
 import IconButton from '@material-ui/core/IconButton';
 import PhotoCamera from '@material-ui/icons/PhotoCamera';
 import Tooltip from '@material-ui/core/Tooltip';
+import FormInput from "../FormInput.js"
+
+function validateUserInput(type, input) {
+    let flag = false
+
+    if (type === 'nome') {
+        if(input.length < 1) {
+            flag = true
+        }
+    }
+    else if (type === 'aboutMe') {
+        if(input.length > 160) {
+            flag = true
+        }
+    }
+
+    return flag
+}
 
 export default function TabPanelEditarPerfil (props) {
     const {state, dispatch} = useContext(Store)
+    const [hoverAlterarFoto, handleAlterarFoto] = React.useState(false)
+
+    const [formNome, setNome] = useState({
+        dict : {
+            key : false,
+            value : ""
+        }
+    })
+
+    const [formAboutMe, setAboutMe] = useState({
+        dict : {
+            key : false,
+            value : "",
+        }
+    })
+
+    const handleHoverAlterarFoto = () => {
+        handleAlterarFoto(!hoverAlterarFoto)
+    }
 
     const updateCover = (selectorFiles : FileList) => {
         console.log(selectorFiles)
         console.log(selectorFiles[0].name)
     }
 
+    const handleChange = (e, type) => {
+        const userInput = e.target.value
+        const flag = validateUserInput(type, userInput)
+
+        if(type === 'nome') {
+            setNome({...formNome, dict : {
+                key : flag,
+                value : userInput
+            }})
+            console.log(formNome)
+        }
+        else if (type === 'aboutMe') {
+            setAboutMe({...formAboutMe, dict : {
+                key : flag,
+                value : userInput,
+            }})
+            console.log(formAboutMe)
+        }
+    }
+
+    const limpaCamposForm = () => {
+        setNome({...formNome, dict: {
+            key : false,
+            value : ''
+        }})
+
+        setAboutMe({...formAboutMe, dict: {
+            key : false,
+            value : ''
+        }})
+    }
+
+    const handleSubmit = (e) => {
+        e.preventDefault()
+        const info = {nome : formNome.dict.value, aboutMe : formAboutMe.dict.value}
+        const flagNome = formNome.dict.key
+        const flagAboutMe = formAboutMe.dict.key
+
+        if (!(flagNome || flagAboutMe)) {
+            console.log(info)
+            limpaCamposForm()
+        }
+    }
+
     return (
         <ContainerDIv>
             <h1 style={{fontSize:"30px", fontWeight:"300", marginTop:"0", marginBottom:"10px"}}>Editar Perfil </h1>
@@ -31,13 +113,156 @@ export default function TabPanelEditarPerfil (props) {
                                     </Tooltip>
                                 </label>
                             </div>
+                            <ProfileAvatarDiv onMouseEnter={handleHoverAlterarFoto} onMouseLeave={handleHoverAlterarFoto}>
+                                <img src={state.currentUser.userAvatar} alt = "user avatar" style={{border:"0", verticalAlign:"middle"}}/>
+                                <ChangeAvatarDiv  style={ {display : hoverAlterarFoto ? 'flex' : 'none'}}>
+                                    <span>Alterar Foto</span>
+                                </ChangeAvatarDiv>
+                            </ProfileAvatarDiv>
                         </HeaderContainer>
+                        <br/>
+                        <br/>
+                        <br/>
+                        <br/>
+                    </div>
+
+                    <div style={{paddingTop:"90px"}}>
+                        <div style={{display:"flex", flexDirection:"row"}}>
+                            <form onSubmit={e => handleSubmit(e)}>
+                                <FormInput
+                                    inputType={"text"}
+                                    name={"Nome Completo"}
+                                    value={formNome.dict.value}
+                                    placeholder={"Nome Completo"}
+                                    handleChange={e => handleChange(e, 'nome')}
+                                    required={true}
+                                    error={formNome.dict.key}
+                                />
+                                <FormInput
+                                    inputType={"text"}
+                                    name={"Sobre Mim"}
+                                    value={formAboutMe.dict.value}
+                                    multi = {true}
+                                    rows="3"
+                                    rowsMax = "3"
+                                    error={formAboutMe.dict.key}
+                                    placeholder={"Sobre Mim"}
+                                    handleChange={e => handleChange(e, 'aboutMe')}
+                                    required={false}
+                                    help = {formAboutMe.dict.value.length + '/160'}
+                                />
+                            </form>
+                        </div>
+                        <ButtonsDiv>
+                            <Link to="perfil" ><ButtonCancelar ><span>CANCELAR</span></ButtonCancelar></Link>
+                            <ButtonConfirmar onClick={e => handleSubmit(e)}><span>SALVAR ALTERAÇÕES</span></ButtonConfirmar>
+                        </ButtonsDiv>
                     </div>
                 </ContentDiv>
         </ContainerDIv>
     )
 }
 
+const ButtonConfirmar = styled(Button)`
+    background-color : #00bcd4 !important;
+    color : #fff !important;
+    font-family : 'Roboto',sans-serif !important;
+    font-size : 14px !important;
+    font-weight : 500 !important;
+    padding-left : 16px !important;
+    padding-right : 16px !important;
+    outline : none !important;
+    margin : 6px 8px !important;
+    white-space : nowrap !important;
+    text-transform : uppercase !important;
+    font-weight : bold !important;
+    font-size : 14px !important;
+    font-style : inherit !important;
+    font-variant : inherit !important;
+    font-family : inherit !important;
+    text-decoration : none !important;
+    overflow : hidden !important;
+    display : inline-block !important;
+    position : relative !important;
+    cursor : pointer !important;
+    min-height : 36px !important;
+    min-width : 88px !important;
+    line-height : 36px !important;
+    vertical-align : middle !important;
+    align-items : center !important;
+    text-align : center !important;
+    border-radius : 3px !important;
+    box-sizing : border-box !important;
+    border : 0 !important;
+`
+
+const ButtonCancelar = styled(Button)`
+    height : 36px !important;
+    padding-left : 16px !important;
+    padding-right : 16px !important;
+    font-weight : bold !important;
+    border-radius : 3px !important;
+    outline : none !important;
+    text-transform : uppercase !important;
+    font-weight : 500 !important;
+    font-size : 14px !important;
+    font-style : inherit !important;
+    font-variant : inherit !important;
+    font-family : inherit !important;
+    text-decoration : none !important;
+    overflow : hidden !important;
+    display : inline-block !important;
+    position : relative !important;
+    cursor : pointer !important;
+    min-height : 36px !important;
+    min-width : 88px !important;
+    line-height : 36px !important;
+    vertical-align : middle !important;
+    align-items : center !important;
+    text-align : center !important;
+    border-radius : 3px !important;
+    box-sizing : border-box !important;
+    user-select : none !important;
+    border : 0 !important;
+    padding : 0 6px !important;
+    margin : 6px 8px !important;
+    :hover{
+      background-color : #f1f1f1 !important;
+    }
+
+`
+
+const ButtonsDiv = styled.div`
+    text-align : right;
+    margin-top : 80px;
+`
+
+const ChangeAvatarDiv = styled.div`
+    height : 40px;
+    position: absolute;
+    width : 100%;
+    bottom : 0;
+    display : flex;
+    background-color : #000;
+    color : #fff;
+    justify-content : center;
+`
+
+const ProfileAvatarDiv = styled.div`
+    bottom : -10px;
+    left : 120px !important;
+    border-radius : 100%;
+    position : absolute;
+    width : 100px !important;
+    height : 100px !important;
+    overflow : hidden;
+    border : 8px solid #fff;
+    outline : 0;
+    cursor : pointer;
+    z-index : 10;
+    background-color : #fff !important;
+`
+
 const HeaderContainer = styled.div`
     background-color : #afeeee;
     position : relative;
-- 
GitLab


From 84efe671070f209c9d87094e5a80c33174186edc Mon Sep 17 00:00:00 2001
From: Lucas Schoenfelder <les17@inf.ufpr.br>
Date: Tue, 11 Feb 2020 10:03:19 -0300
Subject: [PATCH 14/29] layout de edicao de perfil pronto; falta adicionar as
 rotas

---
 src/Components/LoginContainerFunction.js      |   4 +-
 src/Components/LoginModal.js                  |   2 +-
 src/Components/MenuBar.js                     |  12 +-
 src/Components/MenuList.js                    |   7 +-
 src/Components/SignUpContainerFunction.js     |   2 +-
 .../TabPanels/TabPanelAtividades.js           |   4 +-
 .../TabPanels/TabPanelEditarPerfil.js         |  38 +--
 .../TabPanels/TabPanelGerenciarConta.js       | 235 +++++++++++++++++-
 .../TabPanelSolicitarContaProfessor.js        | 113 ++++++++-
 src/Pages/EditProfilePage.js                  |  91 ++++++-
 src/Pages/RecuperarSenha.js                   |   0
 src/Pages/UserPage.js                         |   6 +-
 src/Store.js                                  |   3 +-
 13 files changed, 455 insertions(+), 62 deletions(-)
 create mode 100644 src/Pages/RecuperarSenha.js

diff --git a/src/Components/LoginContainerFunction.js b/src/Components/LoginContainerFunction.js
index aae88a65..5a0301f1 100644
--- a/src/Components/LoginContainerFunction.js
+++ b/src/Components/LoginContainerFunction.js
@@ -35,7 +35,7 @@ function validateUserInput(type, input) {
         }
     }
     else if (type === 'senha') {
-        if(input.length < 1) {
+        if(input.length < 8) {
             flag = true
         }
     }
@@ -170,7 +170,7 @@ export default function LoginContainer (props) {
                             handleChange={e => handleChange(e, 'senha')}
                             required={true}
                             error = {formSenha.dict.key}
-                            help = {formSenha.dict.key ? "Faltou digitar sua senha." : ""}
+                            help = {formSenha.dict.key ? (formSenha.dict.value.length == 0 ? "Faltou digitar sua senha." : "A senha precisa ter no mínimo 8 caracteres.") : ""}
                         />
                         <br/>
 
diff --git a/src/Components/LoginModal.js b/src/Components/LoginModal.js
index 90601b64..9c41e3e1 100644
--- a/src/Components/LoginModal.js
+++ b/src/Components/LoginModal.js
@@ -40,7 +40,7 @@ const StyledLogin = styled(Modal)`
     border-radius : 4px;
 
 `
-function Alert(props) {
+export function Alert(props) {
   return <MuiAlert elevation={6} variant="filled" {...props} />;
 }
 
diff --git a/src/Components/MenuBar.js b/src/Components/MenuBar.js
index 0b13e96a..f9e0a187 100644
--- a/src/Components/MenuBar.js
+++ b/src/Components/MenuBar.js
@@ -109,12 +109,12 @@ export default function MenuBar(props){
   ]
 
   const minhaArea = [
-      { name: "Perfil e Atividades", href: "/perfil"},
-      { name: "Recursos Publicados", href: "/perfil/recursos-publicados"},
-      { name: "Favoritos", href: "/perfil/favoritos"},
-      { name: "Coleções", href: "/perfil/colecoes"},
-      { name: "Rede", href: "/perfil/rede"},
-      { name: "Configurações", href: "/perfil/cofiguracoes/editarperfil"},
+      { name: "Perfil e Atividades", href: "/perfil", value : '0'},
+      { name: "Recursos Publicados", href: "/perfil", value : '1'},
+      { name: "Favoritos", href: "/perfil", value : '2'},
+      { name: "Coleções", href: "/perfil", value : '3'},
+      { name: "Rede", href: "/perfil", value : '4'},
+      { name: "Configurações", href: "/editarperfil"},
   ]
 
   return(
diff --git a/src/Components/MenuList.js b/src/Components/MenuList.js
index 910af9cf..d3f2a6ea 100644
--- a/src/Components/MenuList.js
+++ b/src/Components/MenuList.js
@@ -108,8 +108,11 @@ export default function MenuList(props) {
 
         {
           props.items.map((item)=>
-            <Link key={item.name} to={item.href} style={{textDecoration:"none"}} ><MenuItem style= {{fontSize:"14px", padding:"5px 20px", color:"#666"}}>{item.name}</MenuItem></Link>
-          )
+            <Link  to={{
+                pathname : item.href,
+                state : item.value
+            }} style={{textDecoration:"none"}} ><MenuItem style= {{fontSize:"14px", padding:"5px 20px", color:"#666"}}>{item.name}</MenuItem></Link>
+        )
         }
         <StyledButtonSair onClick={handleLogout}> <StyledMenuItem disableGutters={true}>Sair<StyledExitToAppIcon/></StyledMenuItem></StyledButtonSair>
 
diff --git a/src/Components/SignUpContainerFunction.js b/src/Components/SignUpContainerFunction.js
index 23e63006..84817081 100644
--- a/src/Components/SignUpContainerFunction.js
+++ b/src/Components/SignUpContainerFunction.js
@@ -46,7 +46,7 @@ function validateUserInput(type, input) {
         }
     }
     else if (type === 'senha') {
-        if(input.length < 1) {
+        if(input.length < 8) {
             flag = true
         }
     }
diff --git a/src/Components/TabPanels/TabPanelAtividades.js b/src/Components/TabPanels/TabPanelAtividades.js
index 5e416be8..eda3b1e5 100644
--- a/src/Components/TabPanels/TabPanelAtividades.js
+++ b/src/Components/TabPanels/TabPanelAtividades.js
@@ -17,9 +17,9 @@ export default function TabPanelAtividades (props) {
         axios.get(`${apiUrl}/feed`, props.config)
         .then( (response) => {
                 handleLoading(false)
-                console.log(response)
+                //console.log(response)
                 setNotifications(response.data)
-                console.log(response.data.length)
+                //console.log(response.data.length)
                 setLength(response.data.length)
             },
             (error) => {
diff --git a/src/Components/TabPanels/TabPanelEditarPerfil.js b/src/Components/TabPanels/TabPanelEditarPerfil.js
index e2503a72..67fc6a10 100644
--- a/src/Components/TabPanels/TabPanelEditarPerfil.js
+++ b/src/Components/TabPanels/TabPanelEditarPerfil.js
@@ -97,9 +97,9 @@ export default function TabPanelEditarPerfil (props) {
     }
 
     return (
-        <ContainerDIv>
-            <h1 style={{fontSize:"30px", fontWeight:"300", marginTop:"0", marginBottom:"10px"}}>Editar Perfil </h1>
-                <ContentDiv>
+        <div className="card-config">
+            <h1 style={{fontWeight:"300"}}>Editar Perfil </h1>
+                <div className='content-div'>
                     <div style={{padding:"0", display:"flex", flexDirection:"column"}}>
                         <HeaderContainer>
                             <div style={{position:"relative", height:"100%"}}>
@@ -158,8 +158,8 @@ export default function TabPanelEditarPerfil (props) {
                             <ButtonConfirmar onClick={e => handleSubmit(e)}><span>SALVAR ALTERAÇÕES</span></ButtonConfirmar>
                         </ButtonsDiv>
                     </div>
-                </ContentDiv>
-        </ContainerDIv>
+                </div >
+        </div>
     )
 }
 
@@ -196,7 +196,7 @@ const ButtonConfirmar = styled(Button)`
     border : 0 !important;
 `
 
-const ButtonCancelar = styled(Button)`
+export const ButtonCancelar = styled(Button)`
     height : 36px !important;
     padding-left : 16px !important;
     padding-right : 16px !important;
@@ -269,29 +269,3 @@ const HeaderContainer = styled.div`
     height : 150px;
     border-radius : 8px;
 `
-
-const ContentDiv = styled.div`
-    display : flex;
-    flex-direction : column;
-    align-content : stretch;
-    align-items : stretch;
-    font-family : 'Roboto', sans serif !important;
-    font-size : 14px;
-    justify-content : center;
-    line-height : 20px;
-    text-align : center;
-    color : #666;
-`
-
-const ContainerDIv = styled.div`
-    box-shadow : 0 0 5px 0rgba(0,0,0,.25);
-    background-color : #fff;
-    text-align : start;
-    margin-left : auto;
-    margin-right : auto;
-    padding : 40px;
-    margin : 20px 0 20px 10px;
-    border-radius : 3px;
-    display : flex;
-    flex-direction : column;
-`
diff --git a/src/Components/TabPanels/TabPanelGerenciarConta.js b/src/Components/TabPanels/TabPanelGerenciarConta.js
index cb552890..0c94d8b7 100644
--- a/src/Components/TabPanels/TabPanelGerenciarConta.js
+++ b/src/Components/TabPanels/TabPanelGerenciarConta.js
@@ -1,7 +1,238 @@
-import React from 'react'
+import React, {useState} from 'react'
+import Paper from '@material-ui/core/Paper';
+import Button from '@material-ui/core/Button';
+import FormInput from "../FormInput.js"
+import {CompletarCadastroButton} from './TabPanelSolicitarContaProfessor.js'
+import {ButtonCancelar} from './TabPanelEditarPerfil.js'
+
+function validateUserInput(type, input, confirmation) {
+    let flag = false
+
+    if (type === 'senha') {
+        if(input.length < 8) {
+            flag = true
+        }
+    }
+    else if (type === 'confirmacao') {
+        if (input !== confirmation)
+            flag = true
+    }
+
+    return flag
+}
+
+function validateUserEmail(input) {
+    let flag = false
+
+    if(input.split("").filter(x => x === "@").length !== 1 || !(input.match(/^([\w.%+-]+)@([\w-]+\.)+([\w]{2,})$/i))) {
+        flag = true
+    }
+    return flag
+}
 
 export default function TabPanelGerenciarConta (props) {
+    const [senhaAtual, setSenhaAtual] = useState(
+        {
+            dict : {
+                key : false,
+                value : localStorage.getItem("@portalmec/senha") || ""
+            }
+        }
+    )
+
+    const [novaSenha, setNovaSenha] = useState(
+        {
+            dict : {
+                key : false,
+                value : ""
+            }
+        }
+    )
+
+    const [novaSenhaConfirmacao, setNovaSenhaConfirmacao] = useState(
+        {
+            dict : {
+                key : false,
+                value : ""
+            }
+        }
+    )
+
+    const [novoEmail, setNovoEmail] = useState(
+        {
+            dict : {
+                key : false,
+                value : ""
+            }
+        }
+    )
+
+    const handleChangeSenha = (e, type) => {
+        const userInput = e.target.value
+        const flag = (type === 'confirmacao' ? validateUserInput('confirmacao', userInput, novaSenha.dict.value) : validateUserInput('senha', userInput, ''))
+
+        if(type === 'senhaAtual') {
+            setSenhaAtual({...senhaAtual, dict : {
+                key : flag,
+                value : userInput
+            }})
+            console.log(senhaAtual)
+        }
+        else if(type === 'novaSenha') {
+            setNovaSenha({...novaSenha, dict : {
+                key : flag,
+                value : userInput
+            }})
+            console.log(novaSenha)
+        }
+        else if (type === 'confirmacao'){
+            setNovaSenhaConfirmacao({...novaSenhaConfirmacao, dict : {
+                key : flag,
+                value : userInput
+            }})
+            console.log(novaSenhaConfirmacao)
+        }
+    }
+
+    const handleChangeEmail = (e) => {
+        const userInput = e.target.value
+        const flag = validateUserEmail(userInput)
+
+        setNovoEmail({...novoEmail, dict : {
+            key : flag,
+            value : userInput
+        }})
+
+        console.log(novoEmail)
+    }
+
+    const limpaCamposForm = () => {
+        setSenhaAtual({...senhaAtual, dict : {
+            key : false,
+            value : ''
+        }})
+
+        setNovaSenha({...novaSenha, dict : {
+            key : false,
+            value : ''
+        }})
+
+        setNovaSenhaConfirmacao({...novaSenhaConfirmacao, dict : {
+            key : false,
+            value : ''
+        }})
+    }
+
+    const onSubmit = (e, type) => {
+        e.preventDefault()
+
+        if (type === 'senha'){
+            if (senhaAtual.dict.value === localStorage.getItem("@portalmec/senha")) {
+                const login = {senhaAtual : senhaAtual.dict.value, novaSenha : novaSenha.dict.value, novaSenhaConfirmacao : novaSenhaConfirmacao.dict.value}
+
+                if (!(senhaAtual.dict.key || novaSenha.dict.key || novaSenhaConfirmacao.dict.key)) {
+                    console.log(login)
+                    limpaCamposForm()
+                    props.handleSnackbar()
+                }
+            }
+            else {
+                console.log(localStorage.getItem("@portalmec/senha"), senhaAtual.dict.value)
+            }
+        }
+        else {
+            console.log(novoEmail.dict.value)
+        }
+
+    }
+
     return (
-        <span>a</span>
+        <>
+        <Paper elevation={3} style= {{width:"100%"}}>
+        <div className='card-config'>
+            <div className='content-div'>
+                <h1>Gerenciar Conta</h1>
+                <div style={{display : "flex", flexDirection : "column"}}>
+                    <form style={{width:"500px", margin : "0 0 20px 0"}} onSubmit={e => onSubmit(e, 'senha')}>
+                        <h4 style={{display:"flex", justifyContent:"flex-start", fontSize:"18px"}}>Alterar Senha</h4>
+                        <FormInput
+                            inputType={"password"}
+                            name={"Senha Atual"}
+                            value={senhaAtual.dict.value}
+                            placeholder={"Senha atual"}
+                            handleChange={e => handleChangeSenha(e, 'senhaAtual')}
+                            required={true}
+                            error={senhaAtual.dict.key}
+                            help={ senhaAtual.dict.key ? "Faltou inserir sua senha atual" : ""}
+                        />
+                        <FormInput
+                            inputType={"password"}
+                            name={"Nova senha"}
+                            value={novaSenha.dict.value}
+                            placeholder={"Nova senha"}
+                            handleChange={e => handleChangeSenha(e, 'novaSenha')}
+                            required={true}
+                            error={novaSenha.dict.key}
+                            help={ novaSenha.dict.key ? (novaSenha.dict.value.length == 0 ? "Faltou definir uma nova senha" : "A senha precisa ter no mínimo 8 caracteres.") : ""}
+                        />
+                        <FormInput
+                            inputType={"password"}
+                            name={"Digite novamente a nova senha"}
+                            value={novaSenhaConfirmacao.dict.value}
+                            placeholder={"Digite novamente a nova senha"}
+                            handleChange={e => handleChangeSenha(e, 'confirmacao')}
+                            required={true}
+                            error={novaSenhaConfirmacao.dict.key}
+                            help={ novaSenhaConfirmacao.dict.key ? "As senhas devem ser iguais" : ""}
+                        />
+                        <div style={{display:"flex", flexDirection:"row", justifyContent:"space-evenly"}}>
+                            <span style={{paddingTop:"0.7em"}}><a href="recuperar-senha" style={{textAlign: "flex-start", color:"#00bcd4"}}>Esqueceu a senha?</a></span>
+                            <div style={{margin:"0"}}>
+                                <ButtonCancelar onClick={limpaCamposForm}>Limpar Campos</ButtonCancelar>
+                                <CompletarCadastroButton type="submit">Alterar Senha</CompletarCadastroButton>
+                            </div>
+                        </div>
+                    </form>
+                </div>
+            </div>
+        </div>
+        </Paper>
+        <Paper elevation={3}  style= {{width:"100%"}}>
+        <div className='card-config'>
+            <div className='content-div'>
+                <div style={{display : "flex", flexDirection : "column"}}>
+                    <form style={{width:"500px"}} onSubmit={(e) => onSubmit(e, 'email')}>
+                        <h4 style={{display:"flex", justifyContent:"flex-start", fontSize:"18px"}}>Alterar e-mail</h4>
+                        <FormInput
+                            inputType={"text"}
+                            name={"email"}
+                            value={novoEmail.dict.value}
+                            placeholder={"E-mail"}
+                            handleChange={e => handleChangeEmail(e)}
+                            required={true}
+                            error = {novoEmail.dict.key}
+                        />
+                        <div style={{margin:"0", display:"flex", justifyContent:"flex-start"}}>
+                            <CompletarCadastroButton type="submit">SALVAR ALTERAÇÕES</CompletarCadastroButton>
+                        </div>
+                    </form>
+                </div>
+            </div>
+        </div>
+        </Paper>
+        <Paper elevation={3}  style= {{width:"100%"}}>
+        <div className='card-config'>
+            <div className='content-div'>
+                <div>
+                    <h4 style={{display:"flex", justifyContent:"flex-start", fontSize:"18px"}}>Conta</h4>
+                    <span style={{margin:"0", display:"flex", justifyContent:"flex-start"}}>Antes de excluir a sua conta, saiba que ela será removida permanentemente.</span>
+                </div>
+                <div style={{margin:"0", display:"flex", justifyContent:"flex-start"}}>
+                    <ButtonCancelar style={{color:'#eb4034'}}>EXCLUIR CONTA</ButtonCancelar>
+                </div>
+            </div>
+        </div>
+        </Paper>
+        </>
     )
 }
diff --git a/src/Components/TabPanels/TabPanelSolicitarContaProfessor.js b/src/Components/TabPanels/TabPanelSolicitarContaProfessor.js
index c350edba..cd461887 100644
--- a/src/Components/TabPanels/TabPanelSolicitarContaProfessor.js
+++ b/src/Components/TabPanels/TabPanelSolicitarContaProfessor.js
@@ -1,7 +1,116 @@
-import React from 'react'
+import React, {useContext} from 'react'
+import { Store } from '../../Store.js';
+import styled from 'styled-components'
+import Button from '@material-ui/core/Button';
 
+//3 casos
+    //Professor nao cadastrado (nao pediu OU submitter_request = rejected)
+    //Professor em análise (submitter_request = requested)
+    //Professor aceito (submitter_request = accepted)
 export default function TabPanelSolicitarContaProfessor (props) {
+    const {state, dispatch} = useContext(Store)
+
     return (
-        <span>a</span>
+        <div className='card-config'>
+            <div className='content-div'>
+                {
+                    state.currentUser.submitter_request == 'default' || state.currentUser.submitter_request == 'rejected' ?
+                    (
+                        [
+                            <div style={{paddingLeft:"100px", paddingRight:"101px"}}>
+                                <ImageDiv/>
+                                <StyledH2>Você é professor(a) da educação básica e gostaria de colaborar com a Plataforma?</StyledH2>
+                                <StyledP>Ao ser identificado como professor(a), você poderá publicar e compartilhar recursos educacionais
+                                digitais na plataforma com toda a comunidade escolar do país.
+                                </StyledP>
+                                <div>
+                                    <CompletarCadastroButton>
+                                        SIM, COMPLETAR CADASTRO
+                                    </CompletarCadastroButton>
+                                </div>
+                            </div>
+                        ]
+                    )
+                    :
+                    (
+                        [
+                            <>
+                            {
+                                state.currentUser.submitter_request == 'requested' ?
+                                (
+                                    [
+                                        <span>Requested</span>
+                                    ]
+                                )
+                                :
+                                (
+                                    [
+                                        <span>Professor</span>
+                                    ]
+                                )
+                            }
+                            </>
+                        ]
+                    )
+                }
+            </div>
+        </div>
     )
 }
+
+export const CompletarCadastroButton = styled(Button)`
+    background-color : #00bcd4 !important;
+    color : #fff !important;
+    font-family : 'Roboto',sans-serif !important;
+    font-size : 14px !important;
+    font-weight : bold !important;
+    height : 36px !important;
+    border-radius : 3px !important;
+    padding-left : 16px !important;
+    padding-right : 16px !important;
+    outline : none !important;
+    margin : 6px 8px !important;
+    white-space : nowrap !important;
+    text-transform : uppercase !important;
+    font-weight : bold !important;
+    font-size : 14px !important;
+    font-style : inherit !important;
+    font-variant : inherit !important;
+    font-family : inherit !important;
+    text-decoration : none !important;
+    overflow : hidden !important;
+    display : inline-block !important;
+    position : relative !important;
+    cursor : pointer !important;
+    min-height : 36px !important;
+    min-width : 88px !important;
+    vertical-align : middle !important;
+    align-items : center !important;
+    text-align : center !important;
+    box-sizing : border-box !important;
+    border : 0 !important;
+`
+
+const StyledP = styled.p`
+    font-size : 15px;
+    line-height : 22px;
+    text-align : left;
+    padding-bottom : 20px;
+`
+
+const StyledH2 = styled.h2`
+    font-weight : 200;
+    font-size : 26px;
+    line-height : 36px;
+    text-align : left;
+    padding-bottom : 20px;
+`
+
+const ImageDiv = styled.div`
+    background-image : url(https://plataformaintegrada.mec.gov.br/img/Publicar.png);
+    display : block;
+    height : 114px;
+    background-size : contain;
+    background-position : center center;
+    background-repeat : no-repeat;
+`
diff --git a/src/Pages/EditProfilePage.js b/src/Pages/EditProfilePage.js
index f3f4e041..59ee4f37 100644
--- a/src/Pages/EditProfilePage.js
+++ b/src/Pages/EditProfilePage.js
@@ -9,6 +9,10 @@ import Paper from '@material-ui/core/Paper';
 import TabPanelEditarPerfil from '../Components/TabPanels/TabPanelEditarPerfil.js'
 import TabPanelSolicitarContaProfessor from '../Components/TabPanels/TabPanelSolicitarContaProfessor.js'
 import TabPanelGerenciarConta from '../Components/TabPanels/TabPanelGerenciarConta.js'
+import Snackbar from '@material-ui/core/Snackbar';
+import MuiAlert from '@material-ui/lab/Alert';
+import {Alert} from '../Components/LoginModal.js'
+import Grid from '@material-ui/core/Grid'
 
 export default function EditProfilePage (props) {
     const [tabs, setTabs] = useState([
@@ -19,8 +23,21 @@ export default function EditProfilePage (props) {
         setTabValue(newValue)
     }
 
+    const [snackbarOpened, handleSnackbar] = useState(false)
+    const handleCloseSnackbar = (event, reason) => {
+        if (reason === 'clickaway') {
+            return;
+        }
+
+        handleSnackbar(false);
+    }
     return (
         <div style={{backgroundColor:"#f4f4f4", color:"#666"}}>
+            <Snackbar open={snackbarOpened} autoHideDuration={1000} onClose={handleCloseSnackbar}
+            anchorOrigin = {{ vertical:'top', horizontal:'right' }}
+            >
+                <Alert severity="success" style={{backgroundColor:"#00acc1"}}>Senha alterada com sucesso!</Alert>
+            </Snackbar>
             <BreadcrumbsDiv>
                 <StyledBreadcrumbs>
                     <Link to="/" style={{color:"#00bcd4", textDecoration:"none"}}>
@@ -38,8 +55,9 @@ export default function EditProfilePage (props) {
                 </StyledBreadcrumbs>
             </BreadcrumbsDiv>
 
-            <MainContainerDiv>
-                <div style={{width : "auto", fontFamily:"Roboto"}}>
+            <div style={{justifyContent:"center", width:"1170px", margin:"auto"}}>
+            <MainContainerDiv container spacing={3}>
+                <Grid item xs={3} style={{width : "auto", fontFamily:"Roboto"}} >
                     <Paper elevation={3} style= {{width:"max-content"}}>
                         <ConfiguracoesMenu>
                             <h4 style={{marginTop:"10px", fontFamily:"inherit", display:"flex", justifyContent:"center"}}>
@@ -58,19 +76,74 @@ export default function EditProfilePage (props) {
                             </StyledTabs>
                         </ConfiguracoesMenu>
                     </Paper>
-                </div>
-                <div style={{width : "auto", paddingLeft:"1em"}}>
-                    <Paper elevation={3} style= {{width:"max-content"}}>
-                        {tabValue === 0 && <TabPanelEditarPerfil/>}
+                </Grid>
+                <TabContentDiv item xs={9}>
+                    <Paper elevation={3} style= {{width:"100%"}}>
+                        {tabValue === 0 && <TabPanelEditarPerfil />}
                         {tabValue === 1 && <TabPanelSolicitarContaProfessor/>}
-                        {tabValue === 2 && <TabPanelGerenciarConta/>}
                     </Paper>
-                </div>
+                        {tabValue === 2 && <TabPanelGerenciarConta handleSnackbar={() => {handleSnackbar(true)}}/>}
+                </TabContentDiv>
             </MainContainerDiv>
+            </div>
         </div>
     )
 }
 
+const TabContentDiv = styled(Grid)`
+    width : auto;
+
+    .card-config {
+        padding : 40px;
+        margin : 20px 0 20px 10px;
+        border-radius : 3px;
+        box-shadow : 0 0 5px 0rgba(0,0,0,.25);
+        background-color : #fff;
+        text-align : start;
+        margin-left : auto;
+        margin-right : auto;
+        display : flex;
+        flex-direction : column;
+    }
+
+    .content-div {
+        display : flex;
+        flex-direction : column;
+        align-content : stretch;
+        align-items : stretch;
+        font-family : 'Roboto', sans serif !important;
+        font-size : 14px;
+        justify-content : center;
+        line-height : 20px;
+        text-align : center;
+        color : #666;
+    }
+
+    .h2 {
+        margin-top : 20px;
+        margin-bottom : 10px;
+    }
+
+    .p {
+        margin : 0 0 10px;
+    }
+
+    .h1 {
+        font-size : 30px;
+        font-weight : 300;
+        margin-top : 0;
+        margin-bottom : 10px;
+    }
+
+    .h4 {
+        font-size : 18px;
+        margin-top : 10px;
+        margin-bottom : 10px;
+        font-weight : 500;
+        line-height : 1.1;
+    }
+`
+
 const StyledTabs = styled(Tabs)`
     .Mui-selected {
         background-color : #f4f4f4;
@@ -91,7 +164,7 @@ const ConfiguracoesMenu = styled.div`
     text-align : start;
 `
 
-const MainContainerDiv = styled.div`
+const MainContainerDiv = styled(Grid)`
     padding : 0;
     width : 1170;
     margin-right : auto;
diff --git a/src/Pages/RecuperarSenha.js b/src/Pages/RecuperarSenha.js
new file mode 100644
index 00000000..e69de29b
diff --git a/src/Pages/UserPage.js b/src/Pages/UserPage.js
index 2b9ce6e0..28b81c21 100644
--- a/src/Pages/UserPage.js
+++ b/src/Pages/UserPage.js
@@ -44,7 +44,9 @@ import ModalAlterarAvatar from '../Components/ModalAlterarAvatar.js'
 export default function UserPage (props){
     const {state, dispatch} = useContext(Store)
     const [hoverAlterarFoto, handleAlterarFoto] = React.useState(false)
-    const [tabValue, setTabValue] = useState(0);
+    const [tabValue, setTabValue] = useState(
+        Number(props.location.state) || 0
+    );
     const [tabs, setTabs] = useState([
         'Atividades', 'Meus Recursos', 'Favoritos', 'Coleções', 'Rede'
     ])
@@ -249,7 +251,7 @@ export default function UserPage (props){
 
   }
 
-const HeaderDiv = styled.div`
+export const HeaderDiv = styled.div`
     background-color : #f4f4f4;
     color : #666;
     font-size : 14px;
diff --git a/src/Store.js b/src/Store.js
index 8fc1382a..3225fef5 100644
--- a/src/Store.js
+++ b/src/Store.js
@@ -46,7 +46,8 @@ const initialState = {
       userCover : '',
       uid : '',
       followCount : 0,
-      collectionsCount : 0
+      collectionsCount : 0,
+      submitter_request : 'default'
   }
 }
 
-- 
GitLab


From 1ed4116a08f2f6af77b33786205fb83f0ff135af Mon Sep 17 00:00:00 2001
From: Lucas Schoenfelder <les17@inf.ufpr.br>
Date: Tue, 11 Feb 2020 11:08:23 -0300
Subject: [PATCH 15/29] componente funcional validacao de input adicionado

---
 src/App.js                                    |  3 +-
 src/Components/FormValidationFunction.js      | 45 +++++++++++
 src/Components/LoginContainerFunction.js      | 24 +-----
 src/Components/SignUpContainerFunction.js     | 35 ++-------
 .../TabPanels/TabPanelEditarPerfil.js         | 22 +-----
 .../TabPanels/TabPanelGerenciarConta.js       | 30 +-------
 src/Pages/PasswordRecoveryPage.js             | 77 +++++++++++++++++++
 src/Pages/RecuperarSenha.js                   |  0
 8 files changed, 142 insertions(+), 94 deletions(-)
 create mode 100644 src/Components/FormValidationFunction.js
 create mode 100644 src/Pages/PasswordRecoveryPage.js
 delete mode 100644 src/Pages/RecuperarSenha.js

diff --git a/src/App.js b/src/App.js
index 3ad7a3b8..d2251d22 100644
--- a/src/App.js
+++ b/src/App.js
@@ -24,7 +24,7 @@ import EcFooter from './Components/EcFooter';
 import GNUAGPLfooter from './Components/AGPLFooter';
 import UserPage from './Pages/UserPage';
 import UserTerms from './Pages/UserTerms';
-
+import PasswordRecoveryPage from './Pages/PasswordRecoveryPage.js'
 import Teste from './Pages/Teste';
 
 import ResourcePage from './Pages/ResourcePage';
@@ -81,6 +81,7 @@ export default function App(){
       	<Route path="/termos" component={UserTerms}/>
         <Route path="/teste" component={Teste}/>
         <Route path="/contato" component = {Contact}/>
+        <Route path="/recuperar-senha" component={PasswordRecoveryPage}/>
       </Switch>
       <EcFooter/>
       <GNUAGPLfooter/>
diff --git a/src/Components/FormValidationFunction.js b/src/Components/FormValidationFunction.js
new file mode 100644
index 00000000..c7a8407c
--- /dev/null
+++ b/src/Components/FormValidationFunction.js
@@ -0,0 +1,45 @@
+import React from 'react'
+
+//fieldName : form field name
+//userInput : user input for a given field
+//confirmation :  optional password confirmation argument
+export default function ValidateUserInput (fieldName, userInput, confirmation) {
+    let flag = false
+
+    switch(fieldName) {
+        case('username'):
+            if (userInput.length < 1) {
+                flag = true
+            }
+            break;
+        case('email'):
+            if(userInput.length < 7 || !(userInput.match(/^([\w.%+-]+)@([\w-]+\.)+([\w]{2,})$/i))) {
+                flag = true
+            }
+            break;
+        case('password'):
+            if (userInput.length < 8) {
+                flag = true
+            }
+            break;
+        case('confirmation'):
+            if (userInput !== confirmation) {
+                flag = true
+            }
+            break;
+        case('message'):
+            if(userInput.length === 0) {
+                flag = true
+            }
+            break;
+        case('aboutMe'):
+            if(userInput.length > 160) {
+                flag = true
+            }
+            break;
+        default:
+            break;
+    }
+
+    return flag
+}
diff --git a/src/Components/LoginContainerFunction.js b/src/Components/LoginContainerFunction.js
index 5a0301f1..b02c7fcd 100644
--- a/src/Components/LoginContainerFunction.js
+++ b/src/Components/LoginContainerFunction.js
@@ -25,23 +25,7 @@ import {device} from './device.js'
 import LabeledCheckbox from './Checkbox.js'
 import FormInput from "./FormInput.js"
 import GoogleLogo from "../img/logo_google.svg"
-
-function validateUserInput(type, input) {
-    let flag = false
-
-    if (type === 'email') {
-        if(input.split("").filter(x => x === "@").length !== 1) {
-            flag = true
-        }
-    }
-    else if (type === 'senha') {
-        if(input.length < 8) {
-            flag = true
-        }
-    }
-
-    return flag
-}
+import ValidateUserInput from '../Components/FormValidationFunction.js'
 
 export default function LoginContainer (props) {
     const [formEmail, setEmail] = useState(
@@ -72,7 +56,7 @@ export default function LoginContainer (props) {
 
     const handleChange = (e, type) => {
         const userInput = e.target.value
-        const flag = validateUserInput(type, userInput)
+        const flag = ValidateUserInput(type, userInput)
 
         if(type === 'email') {
             setEmail({...formEmail, dict : {
@@ -81,7 +65,7 @@ export default function LoginContainer (props) {
             }})
             console.log(formEmail)
         }
-        else if(type === 'senha') {
+        else if(type === 'password') {
             setSenha({...formSenha, dict : {
                 key : flag,
                 value : userInput
@@ -167,7 +151,7 @@ export default function LoginContainer (props) {
                             name={"senha"}
                             value={formSenha.dict.value}
                             placeholder={"Senha"}
-                            handleChange={e => handleChange(e, 'senha')}
+                            handleChange={e => handleChange(e, 'password')}
                             required={true}
                             error = {formSenha.dict.key}
                             help = {formSenha.dict.key ? (formSenha.dict.value.length == 0 ? "Faltou digitar sua senha." : "A senha precisa ter no mínimo 8 caracteres.") : ""}
diff --git a/src/Components/SignUpContainerFunction.js b/src/Components/SignUpContainerFunction.js
index 84817081..ed137f75 100644
--- a/src/Components/SignUpContainerFunction.js
+++ b/src/Components/SignUpContainerFunction.js
@@ -25,6 +25,7 @@ import styled from 'styled-components'
 import {device} from './device.js'
 import FormInput from "./FormInput.js"
 import {StyledCloseModalButton, DialogContentDiv, DialogHeaderStyled, SocialConnectDiv, StyledGoogleLoginButton, H3Div} from './LoginContainer.js'
+import ValidateUserInput from '../Components/FormValidationFunction.js'
 
 var Recaptcha = require('react-recaptcha')
 
@@ -32,28 +33,6 @@ var callback = function () {
   console.log('Done!!!!');
 };
 
-function validateUserInput(type, input) {
-    let flag = false
-
-    if (type === 'nome') {
-        if(input.length < 1) {
-            flag = true
-        }
-    }
-    else if (type === 'email') {
-        if(input.split("").filter(x => x === "@").length !== 1) {
-            flag = true
-        }
-    }
-    else if (type === 'senha') {
-        if(input.length < 8) {
-            flag = true
-        }
-    }
-
-    return flag
-}
-
 export default function SignUpContainer (props) {
     const [formNome, setNome] = useState(
         {
@@ -84,9 +63,9 @@ export default function SignUpContainer (props) {
 
     const handleChange = (e, type) => {
         const userInput = e.target.value
-        const flag = validateUserInput(type, userInput)
+        const flag = ValidateUserInput(type, userInput)
 
-        if (type === 'nome') {
+        if (type === 'username') {
             setNome({...formNome, dict : {
                 key : flag,
                 value : userInput
@@ -100,7 +79,7 @@ export default function SignUpContainer (props) {
             }})
             console.log(formEmail)
         }
-        else if(type === 'senha') {
+        else if(type === 'password') {
             setSenha({...formSenha, dict : {
                 key : flag,
                 value : userInput
@@ -183,7 +162,7 @@ export default function SignUpContainer (props) {
                         name={"name"}
                         value={formNome.dict.value}
                         placeholder={"Nome Completo"}
-                        handleChange={e => handleChange(e, 'nome')}
+                        handleChange={e => handleChange(e, 'username')}
                         required={true}
                         error={formNome.dict.key}
                     />
@@ -204,10 +183,10 @@ export default function SignUpContainer (props) {
                         name={"password"}
                         value={formSenha.dict.value}
                         placeholder={"Senha"}
-                        handleChange={e => handleChange(e, 'senha')}
+                        handleChange={e => handleChange(e, 'password')}
                         required={true}
                         error={formSenha.dict.key}
-                        help={formSenha.dict.key ? "Faltou definir uma senha." : ""}
+                        help = {formSenha.dict.key ? (formSenha.dict.value.length == 0 ? "Faltou digitar sua senha." : "A senha precisa ter no mínimo 8 caracteres.") : ""}
                         />
                     <br/>
                     <Recaptcha
diff --git a/src/Components/TabPanels/TabPanelEditarPerfil.js b/src/Components/TabPanels/TabPanelEditarPerfil.js
index 67fc6a10..6274fcba 100644
--- a/src/Components/TabPanels/TabPanelEditarPerfil.js
+++ b/src/Components/TabPanels/TabPanelEditarPerfil.js
@@ -7,23 +7,9 @@ import IconButton from '@material-ui/core/IconButton';
 import PhotoCamera from '@material-ui/icons/PhotoCamera';
 import Tooltip from '@material-ui/core/Tooltip';
 import FormInput from "../FormInput.js"
+import ValidateUserInput from '../FormValidationFunction.js'
 
-function validateUserInput(type, input) {
-    let flag = false
 
-    if (type === 'nome') {
-        if(input.length < 1) {
-            flag = true
-        }
-    }
-    else if (type === 'aboutMe') {
-        if(input.length > 160) {
-            flag = true
-        }
-    }
-
-    return flag
-}
 
 export default function TabPanelEditarPerfil (props) {
     const {state, dispatch} = useContext(Store)
@@ -54,9 +40,9 @@ export default function TabPanelEditarPerfil (props) {
 
     const handleChange = (e, type) => {
         const userInput = e.target.value
-        const flag = validateUserInput(type, userInput)
+        const flag = ValidateUserInput(type, userInput)
 
-        if(type === 'nome') {
+        if(type === 'username') {
             setNome({...formNome, dict : {
                 key : flag,
                 value : userInput
@@ -134,7 +120,7 @@ export default function TabPanelEditarPerfil (props) {
                                     name={"Nome Completo"}
                                     value={formNome.dict.value}
                                     placeholder={"Nome Completo"}
-                                    handleChange={e => handleChange(e, 'nome')}
+                                    handleChange={e => handleChange(e, 'username')}
                                     required={true}
                                     error={formNome.dict.key}
                                 />
diff --git a/src/Components/TabPanels/TabPanelGerenciarConta.js b/src/Components/TabPanels/TabPanelGerenciarConta.js
index 0c94d8b7..74a9d839 100644
--- a/src/Components/TabPanels/TabPanelGerenciarConta.js
+++ b/src/Components/TabPanels/TabPanelGerenciarConta.js
@@ -4,31 +4,7 @@ import Button from '@material-ui/core/Button';
 import FormInput from "../FormInput.js"
 import {CompletarCadastroButton} from './TabPanelSolicitarContaProfessor.js'
 import {ButtonCancelar} from './TabPanelEditarPerfil.js'
-
-function validateUserInput(type, input, confirmation) {
-    let flag = false
-
-    if (type === 'senha') {
-        if(input.length < 8) {
-            flag = true
-        }
-    }
-    else if (type === 'confirmacao') {
-        if (input !== confirmation)
-            flag = true
-    }
-
-    return flag
-}
-
-function validateUserEmail(input) {
-    let flag = false
-
-    if(input.split("").filter(x => x === "@").length !== 1 || !(input.match(/^([\w.%+-]+)@([\w-]+\.)+([\w]{2,})$/i))) {
-        flag = true
-    }
-    return flag
-}
+import ValidateUserInput from '../FormValidationFunction.js'
 
 export default function TabPanelGerenciarConta (props) {
     const [senhaAtual, setSenhaAtual] = useState(
@@ -69,7 +45,7 @@ export default function TabPanelGerenciarConta (props) {
 
     const handleChangeSenha = (e, type) => {
         const userInput = e.target.value
-        const flag = (type === 'confirmacao' ? validateUserInput('confirmacao', userInput, novaSenha.dict.value) : validateUserInput('senha', userInput, ''))
+        const flag = (type === 'confirmacao' ? ValidateUserInput('confirmation', userInput, novaSenha.dict.value) : ValidateUserInput('password', userInput))
 
         if(type === 'senhaAtual') {
             setSenhaAtual({...senhaAtual, dict : {
@@ -96,7 +72,7 @@ export default function TabPanelGerenciarConta (props) {
 
     const handleChangeEmail = (e) => {
         const userInput = e.target.value
-        const flag = validateUserEmail(userInput)
+        const flag = ValidateUserInput('email', userInput)
 
         setNovoEmail({...novoEmail, dict : {
             key : flag,
diff --git a/src/Pages/PasswordRecoveryPage.js b/src/Pages/PasswordRecoveryPage.js
new file mode 100644
index 00000000..e13c5b99
--- /dev/null
+++ b/src/Pages/PasswordRecoveryPage.js
@@ -0,0 +1,77 @@
+import React, {useState} from 'react'
+import {HeaderDiv, BreadcrumbsDiv, StyledBreadcrumbs} from './UserPage.js'
+import Breadcrumbs from '@material-ui/core/Breadcrumbs';
+import {Link} from 'react-router-dom'
+import Paper from '@material-ui/core/Paper';
+import styled from 'styled-components'
+import FormInput from "../Components/FormInput.js"
+import ValidateUserInput from '../Components/FormValidationFunction.js'
+
+export default function PasswordRecoveryPage (props) {
+    const [formEmail, setEmail] = useState(
+        {
+            dict : {
+                key : false,
+                value : ""
+            }
+        }
+    )
+
+    const handleChange = (e) => {
+        const userInput = e.target.value
+        const flag = ValidateUserInput('email', userInput)
+
+        setEmail({...formEmail, dict : {
+            key : flag,
+            value : userInput
+        }})
+        console.log(formEmail)
+    }
+
+    return (
+        <>
+            <HeaderDiv>
+                <div style={{minWidth:"1170px"}}>
+                    <BreadcrumbsDiv>
+                        <StyledBreadcrumbs>
+                            <Link to="/" style={{color:"#00bcd4", textDecoration:"none"}}>
+                                Página Inicial
+                            </Link>
+                            <span>
+                                Recuperar senha
+                            </span>
+                        </StyledBreadcrumbs>
+                    </BreadcrumbsDiv>
+                </div>
+
+                <div style={{justifyContent:"center", width:"1170px", margin:"auto"}}>
+                <Paper elevation={3}>
+                    <CardDiv>
+                        <div style={{overflow:"hidden"}}>
+                            <h2 style={{fontSize:"32px", fontWeight:"200", marginBottom:"20px"}}>Vamos encontrar a sua conta</h2>
+                            <form>
+                                <FormInput
+                                    inputType={"text"}
+                                    name={"email"}
+                                    value={formEmail.dict.value}
+                                    placeholder={"E-mail"}
+                                    handleChange={e => handleChange(e)}
+                                    required={true}
+                                    error = {formEmail.dict.key}
+                                />
+                            </form>
+                        </div>
+                    </CardDiv>
+                </Paper>
+                </div>
+            </HeaderDiv>
+        </>
+    )
+}
+
+const CardDiv = styled.div`
+    background-color : #fff;
+    box-shadow : 0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);
+    padding : 30px 60px;
+    margin : 50px 0;
+`
diff --git a/src/Pages/RecuperarSenha.js b/src/Pages/RecuperarSenha.js
deleted file mode 100644
index e69de29b..00000000
-- 
GitLab


From 1f8678ecdd04d6075ba44a80241bfa801881781c Mon Sep 17 00:00:00 2001
From: Lucas Schoenfelder <les17@inf.ufpr.br>
Date: Tue, 11 Feb 2020 17:13:09 -0300
Subject: [PATCH 16/29] pagina de recuperar senha quase pronta

---
 .../PasswordRecoveryComponents/Default.js     | 25 ++++++++
 .../PasswordRecoveryComponents/Error.js       | 27 ++++++++
 .../PasswordRecoveryComponents/Success.js     | 14 +++++
 src/Pages/PasswordRecoveryPage.js             | 62 ++++++++++++++-----
 4 files changed, 112 insertions(+), 16 deletions(-)
 create mode 100644 src/Components/PasswordRecoveryComponents/Default.js
 create mode 100644 src/Components/PasswordRecoveryComponents/Error.js
 create mode 100644 src/Components/PasswordRecoveryComponents/Success.js

diff --git a/src/Components/PasswordRecoveryComponents/Default.js b/src/Components/PasswordRecoveryComponents/Default.js
new file mode 100644
index 00000000..3be99525
--- /dev/null
+++ b/src/Components/PasswordRecoveryComponents/Default.js
@@ -0,0 +1,25 @@
+import React from 'react'
+import {CompletarCadastroButton} from '../TabPanels/TabPanelSolicitarContaProfessor.js'
+import FormInput from "../FormInput.js"
+
+export default function Default (props) {
+    return (
+        <div style={{overflow:"hidden", display:"inline-block"}}>
+            <h2 style={{fontSize:"32px", fontWeight:"200", marginBottom:"20px"}}>Vamos encontrar a sua conta</h2>
+            <form onSubmit={(e) => props.onSubmit(e)}>
+                <FormInput
+                    inputType={"text"}
+                    name={"email"}
+                    value={props.value}
+                    placeholder={"E-mail"}
+                    handleChange={e => props.handleChange(e)}
+                    required={true}
+                    error = {props.error}
+                />
+                <div style={{display:"flex", justifyContent:"center"}}>
+                    <CompletarCadastroButton onClick={(e) => props.onSubmit(e, props.value)}>BUSCAR</CompletarCadastroButton>
+                </div>
+            </form>
+        </div>
+    )
+}
diff --git a/src/Components/PasswordRecoveryComponents/Error.js b/src/Components/PasswordRecoveryComponents/Error.js
new file mode 100644
index 00000000..ba9fc189
--- /dev/null
+++ b/src/Components/PasswordRecoveryComponents/Error.js
@@ -0,0 +1,27 @@
+import React from 'react'
+import {CompletarCadastroButton} from '../TabPanels/TabPanelSolicitarContaProfessor.js'
+import FormInput from "../FormInput.js"
+
+export default function Default (props) {
+    return (
+        <div style={{overflow:"hidden", display:"inline-block"}}>
+            <h2 style={{fontSize:"32px", fontWeight:"200", marginBottom:"20px"}}>Ops! Não encontramos essa conta</h2>
+            <p>{props.email}</p>
+            <p>Verifique se o e-mail foi digitado corretamente ou se você utilizou algum outro e-mail.</p>
+            <form onSubmit={(e) => props.onSubmit(e)}>
+                <FormInput
+                    inputType={"text"}
+                    name={"email"}
+                    value={props.value}
+                    placeholder={"E-mail"}
+                    handleChange={e => props.handleChange(e)}
+                    required={true}
+                    error = {props.error}
+                />
+                <div style={{display:"flex", justifyContent:"center"}}>
+                    <CompletarCadastroButton onClick={(e) => props.onSubmit(e, props.value)}>BUSCAR</CompletarCadastroButton>
+                </div>
+            </form>
+        </div>
+    )
+}
diff --git a/src/Components/PasswordRecoveryComponents/Success.js b/src/Components/PasswordRecoveryComponents/Success.js
new file mode 100644
index 00000000..558f0bf4
--- /dev/null
+++ b/src/Components/PasswordRecoveryComponents/Success.js
@@ -0,0 +1,14 @@
+import React from 'react'
+import {CompletarCadastroButton} from '../TabPanels/TabPanelSolicitarContaProfessor.js'
+import FormInput from "../FormInput.js"
+
+export default function Default (props) {
+    return (
+        <div style={{overflow:"hidden", display:"inline-block", fontSize:"14px", textAlign:"start"}}>
+            <h2 style={{fontSize:"32px", fontWeight:"200", marginBottom:"20px"}}>Feito! Confira seu e-mail</h2>
+            <p> Enviamos um link para <span style={{color:"#00bcd4"}}>{props.email}</span> que permite alterar sua senha. </p>
+            <p style={{marginBottom:"30px"}}> Caso não chegue em sua caixa de entrada, dê uma olhada em outras pastas, como lixo eletrônico ou spam. </p>
+            <p> Não é o seu e-mail? <span style={{color:"#00bcd4", cursor:"pointer"}} onClick={() => {props.changeSwitch('default')}}> Tente Novamente.</span></p>
+        </div>
+    )
+}
diff --git a/src/Pages/PasswordRecoveryPage.js b/src/Pages/PasswordRecoveryPage.js
index e13c5b99..981a14e4 100644
--- a/src/Pages/PasswordRecoveryPage.js
+++ b/src/Pages/PasswordRecoveryPage.js
@@ -1,4 +1,4 @@
-import React, {useState} from 'react'
+import React, {useState, useContext} from 'react'
 import {HeaderDiv, BreadcrumbsDiv, StyledBreadcrumbs} from './UserPage.js'
 import Breadcrumbs from '@material-ui/core/Breadcrumbs';
 import {Link} from 'react-router-dom'
@@ -6,8 +6,15 @@ import Paper from '@material-ui/core/Paper';
 import styled from 'styled-components'
 import FormInput from "../Components/FormInput.js"
 import ValidateUserInput from '../Components/FormValidationFunction.js'
+import {CompletarCadastroButton} from '../Components/TabPanels/TabPanelSolicitarContaProfessor.js'
+import Default from '../Components/PasswordRecoveryComponents/Default.js'
+import Success from '../Components/PasswordRecoveryComponents/Success.js'
+import {Store} from '../Store.js'
+import Error from '../Components/PasswordRecoveryComponents/Error.js'
 
 export default function PasswordRecoveryPage (props) {
+    const {state, dispatch} = useContext(Store)
+
     const [formEmail, setEmail] = useState(
         {
             dict : {
@@ -28,6 +35,42 @@ export default function PasswordRecoveryPage (props) {
         console.log(formEmail)
     }
 
+    const [aux, setCase] = useState('default')
+    const handleChangeSwitch = (value) => setCase(value);
+
+    const onSubmit = (e, email) => {
+        e.stopPropagation()
+        const query = email
+
+        setEmail({...formEmail, dict : {
+            key : false,
+            value : ''
+        }})
+        handleChangeSwitch('error')
+    }
+
+
+    const components = {
+        default : <Default handleChange={handleChange} onSubmit={onSubmit} value={formEmail.dict.value} error={formEmail.dict.key}/>,
+        success : <Success email={state.currentUser.email} changeSwitch={handleChangeSwitch}/>,
+        error : <Error email={state.currentUser.email} handleChange={handleChange} onSubmit={onSubmit} value={formEmail.dict.value} error={formEmail.dict.key}/>
+    }
+
+    const switchFunction = (value) => {
+        switch(value) {
+            case 'success':
+                return components.success;
+                break;
+            case 'error':
+                return components.error;
+                break;
+            default:
+                return components.default
+                break;
+
+            }
+    }
+
     return (
         <>
             <HeaderDiv>
@@ -44,23 +87,10 @@ export default function PasswordRecoveryPage (props) {
                     </BreadcrumbsDiv>
                 </div>
 
-                <div style={{justifyContent:"center", width:"1170px", margin:"auto"}}>
+                <div style={{justifyContent:"center", textAlign:"center", maxWidth:"600px", margin:"auto"}}>
                 <Paper elevation={3}>
                     <CardDiv>
-                        <div style={{overflow:"hidden"}}>
-                            <h2 style={{fontSize:"32px", fontWeight:"200", marginBottom:"20px"}}>Vamos encontrar a sua conta</h2>
-                            <form>
-                                <FormInput
-                                    inputType={"text"}
-                                    name={"email"}
-                                    value={formEmail.dict.value}
-                                    placeholder={"E-mail"}
-                                    handleChange={e => handleChange(e)}
-                                    required={true}
-                                    error = {formEmail.dict.key}
-                                />
-                            </form>
-                        </div>
+                            {switchFunction(aux)}
                     </CardDiv>
                 </Paper>
                 </div>
-- 
GitLab


From 77a5241cf94d6bcd82db4754bc1b7262dd6be60b Mon Sep 17 00:00:00 2001
From: Lucas Schoenfelder <les17@inf.ufpr.br>
Date: Tue, 11 Feb 2020 17:30:35 -0300
Subject: [PATCH 17/29] checkbox color fixed

---
 src/Components/Checkbox.js       | 9 +++------
 src/Components/ColaborarModal.js | 9 ++++++---
 src/Components/Header.js         | 3 ++-
 3 files changed, 11 insertions(+), 10 deletions(-)

diff --git a/src/Components/Checkbox.js b/src/Components/Checkbox.js
index d2d9b96e..3e0be625 100644
--- a/src/Components/Checkbox.js
+++ b/src/Components/Checkbox.js
@@ -25,10 +25,9 @@ const StyledFormControlLabel = styled(FormControlLabel)`
     .label {
         font-size : 12px !important;
     }
-`
-
-const StyledCheckbox = styled(Checkbox)`
-    color : #00bcd4 !important;
+    .MuiCheckbox-colorSecondary.Mui-checked {
+        color : #00bcd4 !important;
+    }
 `
 
 export default function LabeledCheckbox(props) {
@@ -37,10 +36,8 @@ export default function LabeledCheckbox(props) {
       <StyledFormControlLabel
         control={
           <Checkbox
-            disabled = {props.disabledCheckbox}
             value = {props.checked}
             onChange = {props.handleChange}
-            style = { { color : props.disabledCheckbox ? "#000" : "#00bcd4"}}
           />
         }
         label={<span style={{ fontSize: '12px' }}>{props.label}</span>}
diff --git a/src/Components/ColaborarModal.js b/src/Components/ColaborarModal.js
index 29d6dc49..0a4fdd48 100644
--- a/src/Components/ColaborarModal.js
+++ b/src/Components/ColaborarModal.js
@@ -1,4 +1,4 @@
-import React, {useContext} from 'react';
+import React, {useContext, useState} from 'react';
 import Modal from '@material-ui/core/Modal';
 import Fade from '@material-ui/core/Fade';
 import styled from 'styled-components'
@@ -9,7 +9,7 @@ import CloseIcon from '@material-ui/icons/Close';
 import LabeledCheckbox from "../Components/Checkbox.js"
 
 const StyledDivContainer = styled.div`
-    background-color : rgb(255,255,255);;
+    background-color : rgb(255,255,255);
     border-radius : 4px;
     border-shadow : #000;
     color : rgb(102,102,102);
@@ -77,6 +77,8 @@ const Styledspan = styled.span`
 
 export default function ColaborarModal (props) {
     const {state, dispatch} = useContext(Store)
+    const [checkbox, controlCheckbox] = useState(false)
+    const handleCheckbox = () => controlCheckbox(!checkbox)
 
     return (
         <StyledModal
@@ -94,6 +96,7 @@ export default function ColaborarModal (props) {
         >
             <Fade in={props.open}>
                 <StyledDivContainer>
+                    <span style={{width:"32px"}}/>
                     <StyledDivHeader>
                         <StyledH2>
                             Você é professor(a), da educação básica, e gostaria de colaborar com a Plataforma?
@@ -126,7 +129,7 @@ export default function ColaborarModal (props) {
                                     </StyledButtonsDiv>
                                 </div>
                                 <div style={{display:"flex", alignItems:"flex-start"}}>
-                                <LabeledCheckbox label={<Styledspan>Não perguntar novamente</Styledspan>} />
+                                <LabeledCheckbox label={<Styledspan>Não perguntar novamente</Styledspan>} checked={checkbox} handleChange={handleCheckbox}/>
                                 </div>
                             </StyledDivContentInformation>
                         </StyledDivDialogContent>
diff --git a/src/Components/Header.js b/src/Components/Header.js
index 386a3e4a..475572e1 100644
--- a/src/Components/Header.js
+++ b/src/Components/Header.js
@@ -42,6 +42,7 @@ export default function Header(props){
   const [signUpOpen, setSignUp] = useState(false)
   const [loginOpen, setLogin] = useState(false)
   const [successfulLoginOpen, handleSuccessfulLogin] = useState(false)
+  const [modalColaborar, setModalColaborar] = useState(true)
 
   const toggleSnackbar = (event, reason) => {
       if (reason === 'clickaway') {
@@ -80,7 +81,7 @@ export default function Header(props){
           }
           <SignUpModal open={signUpOpen} handleClose={handleSignUp} openLogin={handleLogin}/>
           <LoginModal open={loginOpen} handleClose={handleLogin} openSignUp={handleSignUp} openSnackbar = {() => {handleSuccessfulLogin(true)}}/>
-          {/*<ColaborarModal open={state.modalColaborarPlataformaOpen} handleClose={handleKyloren} />*/}
+          <ColaborarModal open={modalColaborar} handleClose={() => {setModalColaborar(!modalColaborar)}} />
 
       </>
   )
-- 
GitLab


From 8f23486659d657b13adcdcc64aab79084e115d8a Mon Sep 17 00:00:00 2001
From: Lucas Schoenfelder <les17@inf.ufpr.br>
Date: Tue, 11 Feb 2020 17:42:24 -0300
Subject: [PATCH 18/29] styling changes to colaborar modal

---
 src/Components/ColaborarModal.js | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/src/Components/ColaborarModal.js b/src/Components/ColaborarModal.js
index 0a4fdd48..395f305f 100644
--- a/src/Components/ColaborarModal.js
+++ b/src/Components/ColaborarModal.js
@@ -25,7 +25,7 @@ const StyledDivHeader = styled.div`
     text-align : center;
     display : flex;
     justify-content : space-between;
-    padding : 10px 58px 0 58px;
+    padding : 10px 26px 0 26px;
     color : #666;
     font-size : 40px;
     font-weight : 400;
@@ -34,7 +34,7 @@ const StyledDivHeader = styled.div`
 `
 
 const StyledDivDialogContent = styled.div`
-    padding : 20px 30px;
+    padding : 20px 0;
 `
 
 const StyledButtonsDiv = styled.div`
@@ -45,6 +45,7 @@ const StyledButtonsDiv = styled.div`
 
 const StyledButton = styled(Button)`
     background-color : #00acc1 !important;
+    width : 45%
 `
 
 const StyledH2 = styled.h2`
@@ -96,8 +97,8 @@ export default function ColaborarModal (props) {
         >
             <Fade in={props.open}>
                 <StyledDivContainer>
-                    <span style={{width:"32px"}}/>
                     <StyledDivHeader>
+                    <span style={{width:"32px"}}/>
                         <StyledH2>
                             Você é professor(a), da educação básica, e gostaria de colaborar com a Plataforma?
                         </StyledH2>
@@ -114,7 +115,7 @@ export default function ColaborarModal (props) {
                             }}
                                 >
                                 <div style={{maxWidth:"350px", marginRight:"0", marginLeft:"auto", color:"#666"}}>
-                                    <p style={{textAlign:"start", fontSize:"15px", margin:"0 0 10"}}>
+                                    <p style={{textAlign:"justify", fontSize:"15px", margin:"0 0 10"}}>
                                         Ao ser identificado como professor(a), você poderá
                                         <span style={{color:"#00bcd4"}}> publicar e compartilhar recursos educacionais digitais </span>
                                          na plataforma com toda a comunidade escolar do país.
@@ -129,7 +130,7 @@ export default function ColaborarModal (props) {
                                     </StyledButtonsDiv>
                                 </div>
                                 <div style={{display:"flex", alignItems:"flex-start"}}>
-                                <LabeledCheckbox label={<Styledspan>Não perguntar novamente</Styledspan>} checked={checkbox} handleChange={handleCheckbox}/>
+                                <LabeledCheckbox label={<Styledspan>Não perguntar novamente!</Styledspan>} checked={checkbox} handleChange={handleCheckbox}/>
                                 </div>
                             </StyledDivContentInformation>
                         </StyledDivDialogContent>
-- 
GitLab


From f9aac1191357933030b1040e2af1be1fb6a1dafe Mon Sep 17 00:00:00 2001
From: Lucas Schoenfelder <les17@inf.ufpr.br>
Date: Wed, 12 Feb 2020 19:47:09 -0300
Subject: [PATCH 19/29] layout pagina inicial de /professor pronto

---
 src/App.js                                    |   3 +-
 src/Components/Header.js                      |   2 +-
 src/Components/LoginContainerFunction.js      |   4 +-
 .../PageProfessorComponents/PartOne.js        | 163 ++++++++++++++++++
 .../PageProfessorComponents/PartThree.js      |   7 +
 .../PageProfessorComponents/PartTwo.js        |   7 +
 src/Components/Stepper.js                     |  53 ++++++
 .../TabPanelSolicitarContaProfessor.js        |   4 +-
 src/Pages/PageProfessor.js                    |  93 ++++++++++
 src/Pages/TermsPage.js                        |   9 +-
 src/Pages/UserPage.js                         |   2 +-
 src/Store.js                                  |   2 +-
 12 files changed, 338 insertions(+), 11 deletions(-)
 create mode 100644 src/Components/PageProfessorComponents/PartOne.js
 create mode 100644 src/Components/PageProfessorComponents/PartThree.js
 create mode 100644 src/Components/PageProfessorComponents/PartTwo.js
 create mode 100644 src/Components/Stepper.js
 create mode 100644 src/Pages/PageProfessor.js

diff --git a/src/App.js b/src/App.js
index d2251d22..7b1049e2 100644
--- a/src/App.js
+++ b/src/App.js
@@ -26,7 +26,7 @@ import UserPage from './Pages/UserPage';
 import UserTerms from './Pages/UserTerms';
 import PasswordRecoveryPage from './Pages/PasswordRecoveryPage.js'
 import Teste from './Pages/Teste';
-
+import PageProfessor from './Pages/PageProfessor.js'
 import ResourcePage from './Pages/ResourcePage';
 import {BrowserRouter, Switch, Route} from 'react-router-dom';
 import { Store } from './Store'
@@ -82,6 +82,7 @@ export default function App(){
         <Route path="/teste" component={Teste}/>
         <Route path="/contato" component = {Contact}/>
         <Route path="/recuperar-senha" component={PasswordRecoveryPage}/>
+        <Route path='/professor' component={PageProfessor}/>
       </Switch>
       <EcFooter/>
       <GNUAGPLfooter/>
diff --git a/src/Components/Header.js b/src/Components/Header.js
index 475572e1..c7821b5a 100644
--- a/src/Components/Header.js
+++ b/src/Components/Header.js
@@ -42,7 +42,7 @@ export default function Header(props){
   const [signUpOpen, setSignUp] = useState(false)
   const [loginOpen, setLogin] = useState(false)
   const [successfulLoginOpen, handleSuccessfulLogin] = useState(false)
-  const [modalColaborar, setModalColaborar] = useState(true)
+  const [modalColaborar, setModalColaborar] = useState(false)
 
   const toggleSnackbar = (event, reason) => {
       if (reason === 'clickaway') {
diff --git a/src/Components/LoginContainerFunction.js b/src/Components/LoginContainerFunction.js
index b02c7fcd..15b7c858 100644
--- a/src/Components/LoginContainerFunction.js
+++ b/src/Components/LoginContainerFunction.js
@@ -259,7 +259,7 @@ export default function LoginContainer (props) {
     `
 
 
-    const RightSideStrikedH3 = styled.div`
+export const RightSideStrikedH3 = styled.div`
     display :  inline-block;
     border-bottom: 1px dotted #666;
     vertical-align :  middle;
@@ -268,7 +268,7 @@ export default function LoginContainer (props) {
     width : 45%;
     `
 
-    const LeftSideStrikedH3 = styled.div`
+    export const LeftSideStrikedH3 = styled.div`
     display :  inline-block;
     border-bottom: 1px dotted #666;
     vertical-align :  middle;
diff --git a/src/Components/PageProfessorComponents/PartOne.js b/src/Components/PageProfessorComponents/PartOne.js
new file mode 100644
index 00000000..d3e604a1
--- /dev/null
+++ b/src/Components/PageProfessorComponents/PartOne.js
@@ -0,0 +1,163 @@
+import React, {useState} from 'react'
+import styled from 'styled-components'
+import Stepper from '../Stepper.js'
+import FormControl from '@material-ui/core/FormControl';
+import MenuItem from '@material-ui/core/MenuItem';
+import Select from '@material-ui/core/Select';
+import InputLabel from '@material-ui/core/InputLabel';
+import {Button} from '@material-ui/core'
+import {RightSideStrikedH3, LeftSideStrikedH3} from '../LoginContainerFunction.js'
+import Divider from '@material-ui/core/Divider';
+import {ButtonCancelar} from '../TabPanels/TabPanelEditarPerfil.js'
+
+export default function PartOne (props) {
+    const [uf, setUF] = useState('')
+    const handleChangeUF = (event) => {setUF(event.target.value)}
+
+    const [municipio, setMunicipio] = useState('')
+    const handleChangeMunicipio = (event) => {setMunicipio(event.target.value)}
+
+    return (
+        <>
+        <Content>
+            <h4>Vamos localizar o seu cadastro:</h4>
+            <Stepper items={props.stepper}/>
+            <form style={{textAlign:"start"}}>
+                <p>Localize pelo menos uma escola que você tenha atuado até maio de 2017:</p>
+                <FormControl required style={{width:"100%"}}>
+                     <InputLabel>Procure sua UF</InputLabel>
+                     <Select
+                       labelId="demo-simple-select-label"
+                       id="demo-simple-select"
+                       value={uf}
+                       onChange={handleChangeUF}
+                     >
+                       <MenuItem value={10}>Ten</MenuItem>
+                       <MenuItem value={20}>Twenty</MenuItem>
+                       <MenuItem value={30}>Thirty</MenuItem>
+                     </Select>
+                </FormControl>
+                <FormControl required style={{width:"100%"}}>
+                     <InputLabel>Busque o seu município</InputLabel>
+                     <Select
+                       labelId="demo-simple-select-label"
+                       id="demo-simple-select"
+                       value={municipio}
+                       onChange={handleChangeMunicipio}
+                     >
+                       <MenuItem value={10}>Ten</MenuItem>
+                       <MenuItem value={20}>Twenty</MenuItem>
+                       <MenuItem value={30}>Thirty</MenuItem>
+                     </Select>
+                </FormControl>
+                <div style={{display:"flex", justifyContent:"center",paddingTop:"10px", paddingBottom:"10px"}}>
+                    <ButtonConfirmar onClick={props.handleBuscar}>BUSCAR</ButtonConfirmar>
+                </div>
+            </form>
+            </Content>
+            <div style={{display:"flex", justifyContent:"center", alignItems:"center"}}>
+                <LeftSideStrikedH3/><StrikeSpan>ou</StrikeSpan><RightSideStrikedH3/>
+            </div>
+            <Content>
+                <form>
+                    <p>Localize pelo código INEP da escola:</p>
+                    <FormControl required style={{width:"100%"}}>
+                         <InputLabel>Código INEP</InputLabel>
+                         <Select
+                           labelId="demo-simple-select-label"
+                           id="demo-simple-select"
+                           value={municipio}
+                           onChange={handleChangeMunicipio}
+                         >
+                           <MenuItem value={10}>Ten</MenuItem>
+                           <MenuItem value={20}>Twenty</MenuItem>
+                           <MenuItem value={30}>Thirty</MenuItem>
+                         </Select>
+                    </FormControl>
+                    <div style={{display:"flex", justifyContent:"center",paddingTop:"10px", paddingBottom:"10px"}}>
+                        <ButtonConfirmar onClick={props.handleBuscar}>BUSCAR</ButtonConfirmar>
+                    </div>
+                </form>
+            </Content>
+            <Divider/>
+            <ButtonsArea>
+                <ButtonCancelar>CANCELAR VERIFICAÇÃO</ButtonCancelar>
+            </ButtonsArea>
+        </>
+    )
+}
+
+const ButtonsArea = styled.div`
+    display : flex;
+    justify-content : center;
+    padding-top : 10px;
+    padding-bottom : 10px;
+`
+
+const StrikeSpan = styled.span`
+    vertical-align : middle;
+    font-family : Roboto;
+    font-style : normal;
+    font-weight : 500;
+    line-height : 22px;
+    font-size : 15px;
+    letter-spacing : .01em;
+`
+
+export const Content = styled.div`
+    margin-top : 16px;
+    margin-bottom : 16px;
+    margin-right : 10%;
+    margin-left : 10%;
+
+    h4 {
+        text-align : center;
+        magin-bottom : 20px;
+        font-family: Roboto;
+        font-style : normal;
+        font-weight : 300;
+        line-height : 36px;
+        font-size : 26px;
+        margin-top : 20px;
+    }
+
+    p {
+        font-family : Roboto;
+        font-style : normal;
+        font-weight : 400;
+        line-height : 21px;
+        font-size : 15px;
+    }
+`
+const ButtonConfirmar = styled(Button)`
+    background-color : #00bcd4 !important;
+    color : #fff !important;
+    font-family : 'Roboto',sans-serif !important;
+    font-size : 14px !important;
+    font-weight : bolder !important;
+    padding-left : 16px !important;
+    padding-right : 16px !important;
+    outline : none !important;
+    margin : 6px 8px !important;
+    white-space : nowrap !important;
+    text-transform : uppercase !important;
+    font-weight : bold !important;
+    font-size : 14px !important;
+    font-style : inherit !important;
+    font-variant : inherit !important;
+    font-family : inherit !important;
+    text-decoration : none !important;
+    overflow : hidden !important;
+    display : inline-block !important;
+    position : relative !important;
+    cursor : pointer !important;
+    min-height : 36px !important;
+    min-width : 88px !important;
+    line-height : 36px !important;
+    vertical-align : middle !important;
+    align-items : center !important;
+    text-align : center !important;
+    border-radius : 3px !important;
+    box-sizing : border-box !important;
+    border : 0 !important;
+`
diff --git a/src/Components/PageProfessorComponents/PartThree.js b/src/Components/PageProfessorComponents/PartThree.js
new file mode 100644
index 00000000..50b355ca
--- /dev/null
+++ b/src/Components/PageProfessorComponents/PartThree.js
@@ -0,0 +1,7 @@
+import React from 'react'
+
+export default function PartThree (props) {
+    return (
+        <span>Part Three</span>
+    )
+}
diff --git a/src/Components/PageProfessorComponents/PartTwo.js b/src/Components/PageProfessorComponents/PartTwo.js
new file mode 100644
index 00000000..8ad76c9f
--- /dev/null
+++ b/src/Components/PageProfessorComponents/PartTwo.js
@@ -0,0 +1,7 @@
+import React from 'react'
+
+export default function PartTwo (props) {
+    return (
+        <span>Part Two</span>
+    )
+}
diff --git a/src/Components/Stepper.js b/src/Components/Stepper.js
new file mode 100644
index 00000000..c550c2d9
--- /dev/null
+++ b/src/Components/Stepper.js
@@ -0,0 +1,53 @@
+import React, {useState} from 'react'
+import styled from 'styled-components'
+
+export default function Stepper (props) {
+
+    return (
+        <div style={{display:"flex",justifyContent:"center", marginBottom:"50px"}}>
+            <FeedbackUpload>
+            {
+                props.items.map((item)=>
+                <div className={"page-selector " + (item.selected ? 'selected' : '')} >
+                {item.value}
+                </div>
+            )
+            }
+            </FeedbackUpload>
+        </div>
+    )
+}
+
+const FeedbackUpload = styled.div`
+    width : 280px;
+    display : flex;
+    background :#e5e5e5;
+    flex-direction : row;
+    justify-content : space-between;
+    height : 50px;
+    align-items : center;
+    padding : 7px;
+    border-radius : 50px;
+    margin-top : 20px;
+
+    .page-selector {
+        height : 36px;
+        width : 36px;
+        background : #fff;
+        border-radius : 50%;
+        color : #00bcd4;
+        line-height : 32px;
+        font-size : 20px;
+        font-weight : 500;
+        border: solid 3px #00bcd4;
+        text-align: center;
+        align-items : center;
+        vertical-align:middle;
+    }
+
+    .selected {
+        background : #00bcd4;
+        color : #fff;
+        border-color : #00bcd4;
+    }
+`
diff --git a/src/Components/TabPanels/TabPanelSolicitarContaProfessor.js b/src/Components/TabPanels/TabPanelSolicitarContaProfessor.js
index cd461887..648a3321 100644
--- a/src/Components/TabPanels/TabPanelSolicitarContaProfessor.js
+++ b/src/Components/TabPanels/TabPanelSolicitarContaProfessor.js
@@ -14,7 +14,7 @@ export default function TabPanelSolicitarContaProfessor (props) {
         <div className='card-config'>
             <div className='content-div'>
                 {
-                    state.currentUser.submitter_request == 'default' || state.currentUser.submitter_request == 'rejected' ?
+                    state.currentUser.submitter_request === 'default' || state.currentUser.submitter_request === 'rejected' ?
                     (
                         [
                             <div style={{paddingLeft:"100px", paddingRight:"101px"}}>
@@ -36,7 +36,7 @@ export default function TabPanelSolicitarContaProfessor (props) {
                         [
                             <>
                             {
-                                state.currentUser.submitter_request == 'requested' ?
+                                state.currentUser.submitter_request === 'requested' ?
                                 (
                                     [
                                         <span>Requested</span>
diff --git a/src/Pages/PageProfessor.js b/src/Pages/PageProfessor.js
new file mode 100644
index 00000000..4905f415
--- /dev/null
+++ b/src/Pages/PageProfessor.js
@@ -0,0 +1,93 @@
+import React, {useState,useContext} from 'react'
+import {Store} from '../Store.js'
+import styled from 'styled-components'
+import Paper from '@material-ui/core/Paper';
+import PartOne from '../Components/PageProfessorComponents/PartOne.js'
+import PartTwo from '../Components/PageProfessorComponents/PartTwo.js'
+import PartThree from '../Components/PageProfessorComponents/PartThree.js'
+
+export default function PageProfessor (props) {
+    const {state, dispatch} = useContext(Store)
+
+    const redirect = () => {
+        props.history.push('/termos-publicar-recurso')
+    }
+
+    const [stepper, handleStepper] = useState(
+        [ {value : '1', selected : true}, {value : '2', selected : false}, {value : '3', selected : false} ]
+    )
+
+    const handleBuscar = () => {
+        handleStepper(
+            [ {value : '1', selected : false}, {value : '2', selected : true}, {value : '3', selected : false} ]
+        )
+    }
+
+    const handleCancelar = () => {
+        props.history.push('/perfil/atualizacoes')
+    }
+
+    return (
+        <>
+        {
+            state.userAgreedToPublicationTerms?
+            (
+                [
+                    <div style={{backgroundColor:"#f4f4f4", color:"#666"}}>
+                        <div style={{display: "flex", justifyContent:"center", paddingTop:"5vh", paddingBottom:"5vh"}}>
+                            <Paper elevation={3} style= {{width:"max-content"}}>
+                                <div style={{paddingRight:"15px", paddingLeft:"15px"}}>
+                                    {stepper[0].selected && <PartOne stepper={stepper} handleBuscar={handleBuscar} handleCancelar={handleCancelar}/>}
+                                    {stepper[1].selected && <PartTwo/>}
+                                    {stepper[2].selected && <PartThree/>}
+                                </div>
+                            </Paper>
+                        </div>
+                    </div>
+                ]
+            )
+            :
+            (
+                <>
+                {redirect()}
+                </>
+            )
+        }
+        </>
+    )
+}
+
+const ContainerDiv = styled.div`
+    .card {
+        box-shadow : 0 0 5px 0 rgba(0,0,0,.25);
+        background-color :#fff;
+        text-align : start;
+        margin-left : auto;
+        margin-right : auto;
+    }
+
+    .part-one {
+        max-width : 570px;
+    }
+
+    .container {
+        padding-right : 15px;
+        padding-left : 15px;
+    }
+
+    .content {
+        margin-top : 16px;
+        margin-bottom : 16px;
+        margin-right : 10%;
+        margin-left : 10%;
+    }
+
+    h4 {
+        font-family : Roboto;
+        font-style : normal;
+        font-weight : 300;
+        line-height : 36px;
+        font-size : 26px;
+        margin-top : 20px;
+    }
+`
diff --git a/src/Pages/TermsPage.js b/src/Pages/TermsPage.js
index 65081cf7..e0b6dde2 100644
--- a/src/Pages/TermsPage.js
+++ b/src/Pages/TermsPage.js
@@ -76,9 +76,12 @@ export default function TermsContainer (props) {
                 userAgreement: true
             })
 
-            props.history.push('/permission')
-
-            window.scrollTo(0, 0)
+            if (props.location.state.redirectedFromModal) {
+                props.history.push('/professor')
+            }else {
+                props.history.push('/permission')
+                window.scrollTo(0, 0)
+            }
         }
 
         return (
diff --git a/src/Pages/UserPage.js b/src/Pages/UserPage.js
index 28b81c21..76b15fe3 100644
--- a/src/Pages/UserPage.js
+++ b/src/Pages/UserPage.js
@@ -112,7 +112,7 @@ export default function UserPage (props){
 
     const updateCover = (selectorFiles : FileList) => {
         console.log(selectorFiles)
-        console.log(selectorFiles[0].name)
+        console.log(selectorFiles[0])
     }
 
     return (
diff --git a/src/Store.js b/src/Store.js
index 3225fef5..d57a0cde 100644
--- a/src/Store.js
+++ b/src/Store.js
@@ -23,7 +23,7 @@ export const Store = React.createContext()
 const initialState = {
   searchOpen: false,
   userIsLoggedIn : false,
-  userAgreedToPublicationTerms: false,
+  userAgreedToPublicationTerms: true,
   userAgreedToPublicationPermissions: false,
   modalColaborarPlataformaOpen : false,
   search: {
-- 
GitLab


From 4e310f414887504c832902d3e6d717758c29f18f Mon Sep 17 00:00:00 2001
From: Lucas Schoenfelder <les17@inf.ufpr.br>
Date: Wed, 12 Feb 2020 21:41:24 -0300
Subject: [PATCH 20/29] layout das 3 paginas de /professor prontos

---
 .../PageProfessorComponents/PartOne.js        |  4 +-
 .../PageProfessorComponents/PartTwo.js        | 58 ++++++++++++-
 src/Components/Table.js                       | 81 +++++++++++++++++++
 src/Pages/PageProfessor.js                    |  2 +-
 4 files changed, 141 insertions(+), 4 deletions(-)
 create mode 100644 src/Components/Table.js

diff --git a/src/Components/PageProfessorComponents/PartOne.js b/src/Components/PageProfessorComponents/PartOne.js
index d3e604a1..497ee823 100644
--- a/src/Components/PageProfessorComponents/PartOne.js
+++ b/src/Components/PageProfessorComponents/PartOne.js
@@ -8,7 +8,7 @@ import InputLabel from '@material-ui/core/InputLabel';
 import {Button} from '@material-ui/core'
 import {RightSideStrikedH3, LeftSideStrikedH3} from '../LoginContainerFunction.js'
 import Divider from '@material-ui/core/Divider';
-import {ButtonCancelar} from '../TabPanels/TabPanelEditarPerfil.js'
+import {ButtonCancelar} from './PartTwo.js'
 
 export default function PartOne (props) {
     const [uf, setUF] = useState('')
@@ -87,7 +87,7 @@ export default function PartOne (props) {
     )
 }
 
-const ButtonsArea = styled.div`
+export const ButtonsArea = styled.div`
     display : flex;
     justify-content : center;
     padding-top : 10px;
diff --git a/src/Components/PageProfessorComponents/PartTwo.js b/src/Components/PageProfessorComponents/PartTwo.js
index 8ad76c9f..33941abd 100644
--- a/src/Components/PageProfessorComponents/PartTwo.js
+++ b/src/Components/PageProfessorComponents/PartTwo.js
@@ -1,7 +1,63 @@
 import React from 'react'
+import {Content, ButtonsArea} from './PartOne.js'
+import Divider from '@material-ui/core/Divider';
+import Stepper from '../Stepper.js'
+import CustomizedTables from '../Table.js'
+import styled from 'styled-components'
+import {Button} from '@material-ui/core'
 
 export default function PartTwo (props) {
     return (
-        <span>Part Two</span>
+        <>
+            <Content>
+                <h4>Vamos localizar o seu cadastro:</h4>
+                <Stepper items={props.stepper}/>
+            </Content>
+            <Content>
+                <InputContainer>
+                    <p>Selecione a sua escola:</p>
+                    <CustomizedTables/>
+                </InputContainer>
+            </Content>
+            <Divider/>
+            <ButtonsArea>
+                <ButtonGrey>VOLTAR</ButtonGrey><ButtonCancelar>CANCELAR VERIFICAÇÃO</ButtonCancelar>
+            </ButtonsArea>
+        </>
     )
 }
+
+export const ButtonCancelar = styled(Button)`
+    color: #666 !important;
+    font-family: 'Roboto',sans-serif !important;
+    font-size: 14px !important;
+    font-weight: bold !important;
+    height: 36px !important;
+    border-radius: 3px !important;
+    padding-left: 16px !important;
+    padding-right: 16px !important;
+`
+
+const ButtonGrey = styled(Button)`
+    background-color : #fff !important;
+    border : 1.5px #666 solid !important;
+    color : #666 !important;
+    box-shadow : none !important;
+    font-family : 'Roboto',sans-serif !important;
+    font-size : 14px !important;
+    font-weight : bold !important;
+    height : 36px !important;
+    border-radius : 3px !important;
+    padding-left : 16px !important;
+    padding-right : 16px !important;
+    vertical-align : middle !important;
+    text-align : center !important;
+    align-items : center !important;
+
+`
+
+const InputContainer = styled.div`
+    max-width : 970px;
+    display : block;
+    flex : auto;
+`
diff --git a/src/Components/Table.js b/src/Components/Table.js
new file mode 100644
index 00000000..8fe88f90
--- /dev/null
+++ b/src/Components/Table.js
@@ -0,0 +1,81 @@
+import React from 'react';
+import { withStyles, makeStyles } from '@material-ui/core/styles';
+import Table from '@material-ui/core/Table';
+import TableBody from '@material-ui/core/TableBody';
+import TableCell from '@material-ui/core/TableCell';
+import TableContainer from '@material-ui/core/TableContainer';
+import TableHead from '@material-ui/core/TableHead';
+import TableRow from '@material-ui/core/TableRow';
+import Paper from '@material-ui/core/Paper';
+
+const StyledTableCell = withStyles(theme => ({
+  head: {
+    backgroundColor: '#00bcd4',
+    color: '#ffffff',
+    fontFamily: 'Roboto',
+    fontStyle: 'normal',
+    fontWeight: 500,
+    fontSize: 15,
+    letterSpacing: .01
+  },
+  body: {
+    fontSize: 14,
+  },
+}))(TableCell);
+
+const StyledTableRow = withStyles(theme => ({
+  root: {
+    '&:nth-of-type(odd)': {
+      backgroundColor: theme.palette.background.default,
+    },
+  },
+}))(TableRow);
+
+function createData(name, calories, fat, carbs) {
+  return { name, calories, fat, carbs};
+}
+
+const rows = [
+  createData('Frozen yoghurt', 159, 6.0, 24),
+  createData('Ice cream sandwich', 237, 9.0, 37),
+  createData('Eclair', 262, 16.0, 24),
+  createData('Cupcake', 305, 3.7, 67),
+  createData('Gingerbread', 356, 16.0, 49),
+];
+
+const useStyles = makeStyles({
+  table: {
+    minWidth: 970,
+  },
+});
+
+export default function CustomizedTables() {
+  const classes = useStyles();
+
+  return (
+    <TableContainer component={Paper}>
+      <Table className={classes.table} aria-label="customized table">
+        <TableHead>
+          <TableRow>
+            <StyledTableCell>Codigo INEP</StyledTableCell>
+            <StyledTableCell align="right">Escola</StyledTableCell>
+            <StyledTableCell align="right">UF</StyledTableCell>
+            <StyledTableCell align="right">Cidade</StyledTableCell>
+          </TableRow>
+        </TableHead>
+        <TableBody>
+          {rows.map(row => (
+            <StyledTableRow key={row.name}>
+              <StyledTableCell component="th" scope="row">
+                {row.name}
+              </StyledTableCell>
+              <StyledTableCell align="right">{row.calories}</StyledTableCell>
+              <StyledTableCell align="right">{row.fat}</StyledTableCell>
+              <StyledTableCell align="right">{row.carbs}</StyledTableCell>
+            </StyledTableRow>
+          ))}
+        </TableBody>
+      </Table>
+    </TableContainer>
+  );
+}
diff --git a/src/Pages/PageProfessor.js b/src/Pages/PageProfessor.js
index 4905f415..e26be44d 100644
--- a/src/Pages/PageProfessor.js
+++ b/src/Pages/PageProfessor.js
@@ -38,7 +38,7 @@ export default function PageProfessor (props) {
                             <Paper elevation={3} style= {{width:"max-content"}}>
                                 <div style={{paddingRight:"15px", paddingLeft:"15px"}}>
                                     {stepper[0].selected && <PartOne stepper={stepper} handleBuscar={handleBuscar} handleCancelar={handleCancelar}/>}
-                                    {stepper[1].selected && <PartTwo/>}
+                                    {stepper[1].selected && <PartTwo stepper={stepper}/>}
                                     {stepper[2].selected && <PartThree/>}
                                 </div>
                             </Paper>
-- 
GitLab


From 67fa48c5eb45156f198fa0828bd8b501e80cf0da Mon Sep 17 00:00:00 2001
From: Lucas Schoenfelder <les17@inf.ufpr.br>
Date: Wed, 12 Feb 2020 21:41:30 -0300
Subject: [PATCH 21/29] layout das 3 paginas de /professor prontos

---
 src/Components/FormInput.js                   |  4 +
 .../PageProfessorComponents/PartOne.js        |  2 +-
 .../PageProfessorComponents/PartThree.js      | 73 ++++++++++++++++++-
 .../PageProfessorComponents/PartTwo.js        |  4 +-
 src/Components/Table.js                       |  4 +-
 src/Pages/PageProfessor.js                    | 10 ++-
 6 files changed, 88 insertions(+), 9 deletions(-)

diff --git a/src/Components/FormInput.js b/src/Components/FormInput.js
index bcbc40fb..f9075068 100644
--- a/src/Components/FormInput.js
+++ b/src/Components/FormInput.js
@@ -64,6 +64,10 @@ export default function FormInput(props) {
           error = {props.error}
           helperText ={props.help}
           style={{width:"100%"}}
+          mask={props.mask}
+          multiline={props.multi}
+          rows={props.row}
+          rowsMax={props.rowMax}
         />
   );
 }
diff --git a/src/Components/PageProfessorComponents/PartOne.js b/src/Components/PageProfessorComponents/PartOne.js
index 497ee823..a82555a5 100644
--- a/src/Components/PageProfessorComponents/PartOne.js
+++ b/src/Components/PageProfessorComponents/PartOne.js
@@ -129,7 +129,7 @@ export const Content = styled.div`
         font-size : 15px;
     }
 `
-const ButtonConfirmar = styled(Button)`
+export const ButtonConfirmar = styled(Button)`
     background-color : #00bcd4 !important;
     color : #fff !important;
     font-family : 'Roboto',sans-serif !important;
diff --git a/src/Components/PageProfessorComponents/PartThree.js b/src/Components/PageProfessorComponents/PartThree.js
index 50b355ca..75a9faf5 100644
--- a/src/Components/PageProfessorComponents/PartThree.js
+++ b/src/Components/PageProfessorComponents/PartThree.js
@@ -1,7 +1,76 @@
-import React from 'react'
+import React, {useState} from 'react'
+import {Content, ButtonsArea} from './PartOne.js'
+import {ButtonCancelar, ButtonGrey} from './PartTwo.js'
+import FormControl from '@material-ui/core/FormControl';
+import InputLabel from '@material-ui/core/InputLabel';
+import Stepper from '../Stepper.js'
+import FormInput from '../FormInput.js'
+import styled from 'styled-components'
+import {Button} from '@material-ui/core'
 
 export default function PartThree (props) {
+    const [phoneNumber, setPhoneNumber] = useState('')
+    const handleChangePhoneNumber = (event) => {setPhoneNumber(event.target.value)}
+
+    const [cpf, setCpf] = useState('')
+    const handleChangeCpf = (event) => {setCpf(event.target.value)}
     return (
-        <span>Part Three</span>
+        <>
+        <Content>
+            <h4>Vamos localizar o seu cadastro:</h4>
+            <Stepper items={props.stepper}/>
+            <form style={{textAlign:"start"}}>
+                <span>CENTRO EDUC INF MEU PEDACINHO DE CHAO</span>
+                <FormControl required style={{width:"100%"}}>
+                     <p>Inserir o telefone da escola:</p>
+                     <FormInput
+                        inputType={'text'}
+                        name={'DDD e Número'}
+                        placeholder={'DDD e Número'}
+                        value={phoneNumber}
+                        handleChange={handleChangePhoneNumber}
+                     >
+                     </FormInput>
+                </FormControl>
+                <FormControl required style={{width:"100%"}}>
+                     <p>Inserir o seu CPF</p>
+                     <FormInput
+                        inputType={'text'}
+                        name={'11 dígitos'}
+                        placeholder={'11 dígitos'}
+                        value={cpf}
+                        handleChange={handleChangeCpf}
+                        mask={'999.999.999-99'}
+                     >
+                     </FormInput>
+                </FormControl>
+                <div style={{display:"flex", justifyContent:"space-evenly",paddingTop:"10px", paddingBottom:"10px"}}>
+                    <div style={{display:"flex", justifyContent:"center"}}>
+                        <ButtonConfirmar onClick={props.handleBuscar}>BUSCAR</ButtonConfirmar>
+                    </div>
+                    <div style={{display:"flex", justifyContent:"center"}}>
+                        <ButtonGrey>VOLTAR</ButtonGrey><ButtonCancelar>CANCELAR</ButtonCancelar>
+                    </div>
+                </div>
+            </form>
+            </Content>
+        </>
     )
 }
+
+const ButtonConfirmar = styled(Button)`
+    background-color : #00bcd4 !important;
+    color : #fff !important;
+    box-shadow : none !important;
+    font-family : 'Roboto',sans-serif !important;
+    font-size : 14px !important;
+    font-weight : bold !important;
+    height : 36px !important;
+    border-radius : 3px !important;
+    padding-left : 16px !important;
+    padding-right : 16px !important;
+    vertical-align : middle !important;
+    text-align : center !important;
+    align-items : center !important;
+
+`
diff --git a/src/Components/PageProfessorComponents/PartTwo.js b/src/Components/PageProfessorComponents/PartTwo.js
index 33941abd..d4af14b2 100644
--- a/src/Components/PageProfessorComponents/PartTwo.js
+++ b/src/Components/PageProfessorComponents/PartTwo.js
@@ -16,7 +16,7 @@ export default function PartTwo (props) {
             <Content>
                 <InputContainer>
                     <p>Selecione a sua escola:</p>
-                    <CustomizedTables/>
+                    <CustomizedTables onClick={props.onClickTable}/>
                 </InputContainer>
             </Content>
             <Divider/>
@@ -38,7 +38,7 @@ export const ButtonCancelar = styled(Button)`
     padding-right: 16px !important;
 `
 
-const ButtonGrey = styled(Button)`
+export const ButtonGrey = styled(Button)`
     background-color : #fff !important;
     border : 1.5px #666 solid !important;
     color : #666 !important;
diff --git a/src/Components/Table.js b/src/Components/Table.js
index 8fe88f90..9bad6231 100644
--- a/src/Components/Table.js
+++ b/src/Components/Table.js
@@ -49,7 +49,7 @@ const useStyles = makeStyles({
   },
 });
 
-export default function CustomizedTables() {
+export default function CustomizedTables(props) {
   const classes = useStyles();
 
   return (
@@ -69,7 +69,7 @@ export default function CustomizedTables() {
               <StyledTableCell component="th" scope="row">
                 {row.name}
               </StyledTableCell>
-              <StyledTableCell align="right">{row.calories}</StyledTableCell>
+              <StyledTableCell align="right" onClick={props.onClick}>{row.calories}</StyledTableCell>
               <StyledTableCell align="right">{row.fat}</StyledTableCell>
               <StyledTableCell align="right">{row.carbs}</StyledTableCell>
             </StyledTableRow>
diff --git a/src/Pages/PageProfessor.js b/src/Pages/PageProfessor.js
index e26be44d..1f0eb796 100644
--- a/src/Pages/PageProfessor.js
+++ b/src/Pages/PageProfessor.js
@@ -27,6 +27,12 @@ export default function PageProfessor (props) {
         props.history.push('/perfil/atualizacoes')
     }
 
+    const onClickTable = () => {
+        handleStepper(
+            [ {value : '1', selected : false}, {value : '2', selected : false}, {value : '3', selected : true} ]
+        )
+    }
+
     return (
         <>
         {
@@ -38,8 +44,8 @@ export default function PageProfessor (props) {
                             <Paper elevation={3} style= {{width:"max-content"}}>
                                 <div style={{paddingRight:"15px", paddingLeft:"15px"}}>
                                     {stepper[0].selected && <PartOne stepper={stepper} handleBuscar={handleBuscar} handleCancelar={handleCancelar}/>}
-                                    {stepper[1].selected && <PartTwo stepper={stepper}/>}
-                                    {stepper[2].selected && <PartThree/>}
+                                    {stepper[1].selected && <PartTwo stepper={stepper} onClickTable={onClickTable}/>}
+                                    {stepper[2].selected && <PartThree stepper={stepper}/>}
                                 </div>
                             </Paper>
                         </div>
-- 
GitLab


From 28ec63ad1ab472bf3acd70c7723216a495475bbe Mon Sep 17 00:00:00 2001
From: Lucas Schoenfelder <les17@inf.ufpr.br>
Date: Thu, 13 Feb 2020 20:48:48 -0300
Subject: [PATCH 22/29] primeira parte de requisicao para ser professor pronta

---
 src/Components/FormInput.js                   |   2 +-
 src/Components/LoginModal.js                  |   4 +-
 .../PageProfessorComponents/PartOne.js        | 163 +++++++++++++++---
 .../PageProfessorComponents/PartTwo.js        |   1 +
 .../TabPanels/TabPanelEditarPerfil.js         |  44 +++--
 src/Pages/PageProfessor.js                    |  41 ++++-
 src/Pages/UserPage.js                         |   4 +-
 src/env.js                                    |   2 +-
 8 files changed, 195 insertions(+), 66 deletions(-)

diff --git a/src/Components/FormInput.js b/src/Components/FormInput.js
index f9075068..47aeb1fa 100644
--- a/src/Components/FormInput.js
+++ b/src/Components/FormInput.js
@@ -66,7 +66,7 @@ export default function FormInput(props) {
           style={{width:"100%"}}
           mask={props.mask}
           multiline={props.multi}
-          rows={props.row}
+          rows={props.rows}
           rowsMax={props.rowMax}
         />
   );
diff --git a/src/Components/LoginModal.js b/src/Components/LoginModal.js
index 9c41e3e1..df1be6a4 100644
--- a/src/Components/LoginModal.js
+++ b/src/Components/LoginModal.js
@@ -80,8 +80,8 @@ export default function LoginModal (props){
             )
             props.handleClose();
             props.openSnackbar();
-            localStorage.setItem('@portalmec/accessToken', response.headers['access-token'])
-            localStorage.setItem('@portalmec/clientToken', response.headers.client,)
+            sessionStorage.setItem('@portalmec/accessToken', response.headers['access-token'])
+            sessionStorage.setItem('@portalmec/clientToken', response.headers.client,)
             sessionStorage.setItem('@portalmec/id', response.data.data.id)
             sessionStorage.setItem('@portalmec/username', response.data.data.name)
             sessionStorage.setItem('@portalmec/uid', response.data.data.uid)
diff --git a/src/Components/PageProfessorComponents/PartOne.js b/src/Components/PageProfessorComponents/PartOne.js
index a82555a5..5c4b92f6 100644
--- a/src/Components/PageProfessorComponents/PartOne.js
+++ b/src/Components/PageProfessorComponents/PartOne.js
@@ -1,4 +1,4 @@
-import React, {useState} from 'react'
+import React, {useState, useEffect} from 'react'
 import styled from 'styled-components'
 import Stepper from '../Stepper.js'
 import FormControl from '@material-ui/core/FormControl';
@@ -9,32 +9,128 @@ import {Button} from '@material-ui/core'
 import {RightSideStrikedH3, LeftSideStrikedH3} from '../LoginContainerFunction.js'
 import Divider from '@material-ui/core/Divider';
 import {ButtonCancelar} from './PartTwo.js'
+import axios from 'axios'
+import FormInput from '../FormInput.js'
+
+function sortDict (dict) {
+    const newDict = dict.sort((a, b) => (a.name) > (b.name) ? 1 : -1)
+    return newDict
+
+}
 
 export default function PartOne (props) {
-    const [uf, setUF] = useState('')
-    const handleChangeUF = (event) => {setUF(event.target.value)}
+    //stores initial get response (list of states, sorted alphabetically)
+    const [ufList, setStates] = useState([])
+    const handleSetStates = (states) => {setStates(states)}
+
+    //stores list of cities sorted alphabetically
+    const [municipioList, setMunicipioList] = useState([])
+    const handleSetMunicipioList = (municipios) => setMunicipioList(municipios)
+
+    //stores a single user selected state
+    const [uf, setUF] = useState(
+        {
+            algumFoiEscolhido : false,
+            value : ''
+        }
+    )
 
-    const [municipio, setMunicipio] = useState('')
-    const handleChangeMunicipio = (event) => {setMunicipio(event.target.value)}
+    //stores a single user selected city
+    const [municipio, setMunicipio] = useState(
+        {
+            algumFoiEscolhido : false,
+            value : ''
+        }
+    )
+
+    const [codigoINEP, setCodigoINEP] = useState(
+        {
+            codigoInvalido : false,
+            value : ''
+        }
+    )
+    const handleCodigoINEP = (event) => {
+        const code = event.target.value
+        
+        setCodigoINEP({...codigoINEP,
+            codigoInvalido : false,
+            value : code
+        })
+    }
+
+    const validateINEP = () => {
+        const code = codigoINEP.value
+
+        axios.get(('https://www.simcaq.c3sl.ufpr.br/api/v1/portal_mec_inep?filter=school_cod:' + code)
+        ).then( (response) => {
+            handleSubmit()
+        }, (error) => {
+            setCodigoINEP({...codigoINEP,
+                codigoInvalido : true,
+                value : ''
+            })
+        }
+        )
+    }
+
+    const handleSubmit = () => {
+        props.handleBuscar(uf.value, municipio.value, codigoINEP.value)
+    }
+
+    //on render component, call simcaq api and update ufList
+    useEffect ( () => {
+        axios.get(('https://simcaq.c3sl.ufpr.br/api/v1/state')
+        ).then( (response) => {
+            handleSetStates(sortDict(response.data.result))
+        },
+        (error) => console.log('erro acessando api do simcaq (estados)'))
+    }, [])
+
+    const handleChooseUF = (event) => {
+        const ufID = event.target.value
+        setUF({...uf,
+                algumFoiEscolhido : true,
+                value : ufID
+            }
+        )
+
+        axios.get(('https://simcaq.c3sl.ufpr.br/api/v1/city?filter=state:' + ufID)
+        ).then( (response) => {
+            handleSetMunicipioList(sortDict(response.data.result))
+            }, (error) => console.log('erro acessando api do simcaq (cidades)')
+        )
+    }
+
+    const handleChooseCity = (event) => {
+        const cityID = event.target.value
+        setMunicipio({...municipio,
+                 algumFoiEscolhido : true,
+                 value : cityID
+             }
+        )
+    }
 
     return (
         <>
+        {/*/////////////////////////////PRIMEIRA PARTE/////////////////////////////*/}
         <Content>
             <h4>Vamos localizar o seu cadastro:</h4>
             <Stepper items={props.stepper}/>
             <form style={{textAlign:"start"}}>
-                <p>Localize pelo menos uma escola que você tenha atuado até maio de 2017:</p>
+                <p>Localize pelo menos uma escola em que você tenha atuado até maio de 2017:</p>
                 <FormControl required style={{width:"100%"}}>
                      <InputLabel>Procure sua UF</InputLabel>
                      <Select
                        labelId="demo-simple-select-label"
                        id="demo-simple-select"
-                       value={uf}
-                       onChange={handleChangeUF}
+                       value={uf.value}
+                       onChange={handleChooseUF}
                      >
-                       <MenuItem value={10}>Ten</MenuItem>
-                       <MenuItem value={20}>Twenty</MenuItem>
-                       <MenuItem value={30}>Thirty</MenuItem>
+                     {
+                        ufList.map( (ufs)=>
+                            <MenuItem value={ufs.id}>{ufs.name}</MenuItem>
+                        )
+                     }
                      </Select>
                 </FormControl>
                 <FormControl required style={{width:"100%"}}>
@@ -42,40 +138,51 @@ export default function PartOne (props) {
                      <Select
                        labelId="demo-simple-select-label"
                        id="demo-simple-select"
-                       value={municipio}
-                       onChange={handleChangeMunicipio}
+                       value={municipio.value}
+                       onChange={handleChooseCity}
                      >
-                       <MenuItem value={10}>Ten</MenuItem>
-                       <MenuItem value={20}>Twenty</MenuItem>
-                       <MenuItem value={30}>Thirty</MenuItem>
+                     {
+                        municipioList.map( (cidades)=>
+                            <MenuItem value={cidades.id}>{cidades.name}</MenuItem>
+                        )
+                     }
                      </Select>
                 </FormControl>
                 <div style={{display:"flex", justifyContent:"center",paddingTop:"10px", paddingBottom:"10px"}}>
-                    <ButtonConfirmar onClick={props.handleBuscar}>BUSCAR</ButtonConfirmar>
+                    <ButtonConfirmar
+                    onClick={ ( (uf.algumFoiEscolhido && municipio.algumFoiEscolhido) ? handleSubmit : '')}
+                    >
+                    BUSCAR</ButtonConfirmar>
                 </div>
             </form>
             </Content>
+
             <div style={{display:"flex", justifyContent:"center", alignItems:"center"}}>
                 <LeftSideStrikedH3/><StrikeSpan>ou</StrikeSpan><RightSideStrikedH3/>
             </div>
+
+            {/*/////////////////////////////SEGUNDA PARTE/////////////////////////////*/}
             <Content>
                 <form>
                     <p>Localize pelo código INEP da escola:</p>
                     <FormControl required style={{width:"100%"}}>
-                         <InputLabel>Código INEP</InputLabel>
-                         <Select
-                           labelId="demo-simple-select-label"
-                           id="demo-simple-select"
-                           value={municipio}
-                           onChange={handleChangeMunicipio}
+                         <FormInput
+                           inputType={'text'}
+                           name={'Código INEP'}
+                           value={codigoINEP.value}
+                           handleChange = {handleCodigoINEP}
+                           placeholder={'Código INEP'}
+                           required={true}
+                           error={codigoINEP.codigoInvalido}
+                           help={codigoINEP.codigoInvalido ? <span style={{color:'red'}}>código INEP inválido</span> : ''}
                          >
-                           <MenuItem value={10}>Ten</MenuItem>
-                           <MenuItem value={20}>Twenty</MenuItem>
-                           <MenuItem value={30}>Thirty</MenuItem>
-                         </Select>
+                         </FormInput>
                     </FormControl>
                     <div style={{display:"flex", justifyContent:"center",paddingTop:"10px", paddingBottom:"10px"}}>
-                        <ButtonConfirmar onClick={props.handleBuscar}>BUSCAR</ButtonConfirmar>
+                        <ButtonConfirmar
+                        onClick={validateINEP}
+                        >
+                        BUSCAR</ButtonConfirmar>
                     </div>
                 </form>
             </Content>
diff --git a/src/Components/PageProfessorComponents/PartTwo.js b/src/Components/PageProfessorComponents/PartTwo.js
index d4af14b2..e8bce948 100644
--- a/src/Components/PageProfessorComponents/PartTwo.js
+++ b/src/Components/PageProfessorComponents/PartTwo.js
@@ -9,6 +9,7 @@ import {Button} from '@material-ui/core'
 export default function PartTwo (props) {
     return (
         <>
+            {console.log(props.info)}
             <Content>
                 <h4>Vamos localizar o seu cadastro:</h4>
                 <Stepper items={props.stepper}/>
diff --git a/src/Components/TabPanels/TabPanelEditarPerfil.js b/src/Components/TabPanels/TabPanelEditarPerfil.js
index 6274fcba..fc445817 100644
--- a/src/Components/TabPanels/TabPanelEditarPerfil.js
+++ b/src/Components/TabPanels/TabPanelEditarPerfil.js
@@ -16,17 +16,13 @@ export default function TabPanelEditarPerfil (props) {
     const [hoverAlterarFoto, handleAlterarFoto] = React.useState(false)
 
     const [formNome, setNome] = useState({
-        dict : {
-            key : false,
-            value : ""
-        }
+        key : false,
+        value : ""
     })
 
     const [formAboutMe, setAboutMe] = useState({
-        dict : {
-            key : false,
-            value : "",
-        }
+        key : false,
+        value : "",
     })
 
     const handleHoverAlterarFoto = () => {
@@ -43,38 +39,38 @@ export default function TabPanelEditarPerfil (props) {
         const flag = ValidateUserInput(type, userInput)
 
         if(type === 'username') {
-            setNome({...formNome, dict : {
+            setNome({...formNome,
                 key : flag,
                 value : userInput
-            }})
+            })
             console.log(formNome)
         }
         else if (type === 'aboutMe') {
-            setAboutMe({...formAboutMe, dict : {
+            setAboutMe({...formAboutMe,
                 key : flag,
                 value : userInput,
-            }})
+            })
             console.log(formAboutMe)
         }
     }
 
     const limpaCamposForm = () => {
-        setNome({...formNome, dict: {
+        setNome({...formNome,
             key : false,
             value : ''
-        }})
+        })
 
-        setAboutMe({...formAboutMe, dict: {
+        setAboutMe({...formAboutMe,
             key : false,
             value : ''
-        }})
+        })
     }
 
     const handleSubmit = (e) => {
         e.preventDefault()
-        const info = {nome : formNome.dict.value, aboutMe : formAboutMe.dict.value}
-        const flagNome = formNome.dict.key
-        const flagAboutMe = formAboutMe.dict.key
+        const info = {nome : formNome.value, aboutMe : formAboutMe.value}
+        const flagNome = formNome.key
+        const flagAboutMe = formAboutMe.key
 
         if (!(flagNome || flagAboutMe)) {
             console.log(info)
@@ -118,24 +114,24 @@ export default function TabPanelEditarPerfil (props) {
                                 <FormInput
                                     inputType={"text"}
                                     name={"Nome Completo"}
-                                    value={formNome.dict.value}
+                                    value={formNome.value}
                                     placeholder={"Nome Completo"}
                                     handleChange={e => handleChange(e, 'username')}
                                     required={true}
-                                    error={formNome.dict.key}
+                                    error={formNome.key}
                                 />
                                 <FormInput
                                     inputType={"text"}
                                     name={"Sobre Mim"}
-                                    value={formAboutMe.dict.value}
+                                    value={formAboutMe.value}
                                     multi = {true}
                                     rows="3"
                                     rowsMax = "3"
-                                    error={formAboutMe.dict.key}
+                                    error={formAboutMe.key}
                                     placeholder={"Sobre Mim"}
                                     handleChange={e => handleChange(e, 'aboutMe')}
                                     required={false}
-                                    help = {formAboutMe.dict.value.length + '/160'}
+                                    help = {formAboutMe.value.length + '/160'}
                                 />
                             </form>
                         </div>
diff --git a/src/Pages/PageProfessor.js b/src/Pages/PageProfessor.js
index 1f0eb796..b89eacc8 100644
--- a/src/Pages/PageProfessor.js
+++ b/src/Pages/PageProfessor.js
@@ -13,24 +13,45 @@ export default function PageProfessor (props) {
         props.history.push('/termos-publicar-recurso')
     }
 
+    const [registerInformation, setRegisterInformation] = useState(
+        {
+            teacher_cpf: '',
+            school_phone: '',
+            school_name: '',
+            school_City: '', // perguntar se aqui é o id ou o nome
+            school_uf : '', //perguntar se aqui é o id ou o nome
+            inep_code: ''
+        }
+    )
+
     const [stepper, handleStepper] = useState(
         [ {value : '1', selected : true}, {value : '2', selected : false}, {value : '3', selected : false} ]
     )
-
-    const handleBuscar = () => {
+    const toggleStepper = (selected1, selected2, selected3) => {
         handleStepper(
-            [ {value : '1', selected : false}, {value : '2', selected : true}, {value : '3', selected : false} ]
+            [
+                {value : '1', selected : selected1},
+                {value : '2', selected : selected2},
+                {value : '3', selected : selected3}
+            ]
         )
     }
 
+    const handleBuscar = (uf, municipio, inep) => {
+        setRegisterInformation({...registerInformation,
+            school_uf : uf,
+            school_City : municipio,
+            inep_code : inep
+        })
+        toggleStepper(false, true, false)
+    }
+
     const handleCancelar = () => {
         props.history.push('/perfil/atualizacoes')
     }
 
     const onClickTable = () => {
-        handleStepper(
-            [ {value : '1', selected : false}, {value : '2', selected : false}, {value : '3', selected : true} ]
-        )
+        toggleStepper(false, false, true)
     }
 
     return (
@@ -43,8 +64,12 @@ export default function PageProfessor (props) {
                         <div style={{display: "flex", justifyContent:"center", paddingTop:"5vh", paddingBottom:"5vh"}}>
                             <Paper elevation={3} style= {{width:"max-content"}}>
                                 <div style={{paddingRight:"15px", paddingLeft:"15px"}}>
-                                    {stepper[0].selected && <PartOne stepper={stepper} handleBuscar={handleBuscar} handleCancelar={handleCancelar}/>}
-                                    {stepper[1].selected && <PartTwo stepper={stepper} onClickTable={onClickTable}/>}
+                                    {stepper[0].selected &&
+                                        <PartOne stepper={stepper} handleBuscar={handleBuscar}
+                                            handleCancelar={handleCancelar}
+                                        />
+                                    }
+                                    {stepper[1].selected && <PartTwo stepper={stepper} onClickTable={onClickTable} info={registerInformation}/>}
                                     {stepper[2].selected && <PartThree stepper={stepper}/>}
                                 </div>
                             </Paper>
diff --git a/src/Pages/UserPage.js b/src/Pages/UserPage.js
index 76b15fe3..f6650c98 100644
--- a/src/Pages/UserPage.js
+++ b/src/Pages/UserPage.js
@@ -58,8 +58,8 @@ export default function UserPage (props){
         headers : {
             'Accept': 'application/json',
             'Content-Type': 'application/json',
-            'Access-Token': localStorage.getItem('@portalmec/accessToken'),
-            'Client': localStorage.getItem('@portalmec/clientToken'),
+            'Access-Token': sessionStorage.getItem('@portalmec/accessToken'),
+            'Client': sessionStorage.getItem('@portalmec/clientToken'),
             'Uid': sessionStorage.getItem('@portalmec/uid'),
             'Host': 'api.portalmec.c3sl.ufpr.br',
             'Cookie': ''
diff --git a/src/env.js b/src/env.js
index f3072030..3ba1693d 100644
--- a/src/env.js
+++ b/src/env.js
@@ -17,7 +17,7 @@ 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/>.*/
 
 
-var apiDomain = 'https://api.portalmec.c3sl.ufpr.br',
+var apiDomain = 'https://api.portalmec.c3sl.ufpr.br/',
     apiVersion = 'v1',
     apiUrl = apiDomain + '/' + apiVersion;
 
-- 
GitLab


From abf323c089dd5d0676f0118808101d184fa3f708 Mon Sep 17 00:00:00 2001
From: Lucas Schoenfelder <les17@inf.ufpr.br>
Date: Thu, 13 Feb 2020 20:56:10 -0300
Subject: [PATCH 23/29] ajeitando os formularios

---
 src/Components/LoginContainerFunction.js      | 38 ++++---
 src/Components/SignUpContainerFunction.js     | 50 +++++-----
 .../TabPanels/TabPanelGerenciarConta.js       | 98 ++++++++-----------
 3 files changed, 82 insertions(+), 104 deletions(-)

diff --git a/src/Components/LoginContainerFunction.js b/src/Components/LoginContainerFunction.js
index 15b7c858..38150d43 100644
--- a/src/Components/LoginContainerFunction.js
+++ b/src/Components/LoginContainerFunction.js
@@ -30,19 +30,15 @@ import ValidateUserInput from '../Components/FormValidationFunction.js'
 export default function LoginContainer (props) {
     const [formEmail, setEmail] = useState(
         {
-            dict : {
                 key : false,
                 value : localStorage.getItem("@portalmec/email") || "",
-            }
         }
     )
 
     const [formSenha, setSenha] = useState(
         {
-            dict : {
                 key : false,
                 value : localStorage.getItem("@portalmec/senha") ||""
-            }
         }
     )
 
@@ -59,38 +55,38 @@ export default function LoginContainer (props) {
         const flag = ValidateUserInput(type, userInput)
 
         if(type === 'email') {
-            setEmail({...formEmail, dict : {
+            setEmail({...formEmail,
                 key : flag,
                 value : userInput
-            }})
+            })
             console.log(formEmail)
         }
         else if(type === 'password') {
-            setSenha({...formSenha, dict : {
+            setSenha({...formSenha,
                 key : flag,
                 value : userInput
-            }})
+            })
             console.log(formSenha)
         }
     }
 
     const limpaCamposForm = () => {
-        setEmail({...formEmail, dict : {
+        setEmail({...formEmail,
             key : false,
             value : ''
-        }});
+        });
 
-        setSenha({...formSenha, dict : {
+        setSenha({...formSenha,
             key : false,
             value : ''
-        }})
+        })
     }
 
     const onSubmit = (e) => {
         e.preventDefault()
-        const login = {email : formEmail.dict.value, senha : formSenha.dict.value, checkbox : checkboxControl}
+        const login = {email : formEmail.value, senha : formSenha.value, checkbox : checkboxControl}
 
-        if (!(formEmail.dict.key || formSenha.dict.key)) {
+        if (!(formEmail.key || formSenha.key)) {
             props.handleLoginInfo(login)
             limpaCamposForm()
         }
@@ -138,23 +134,23 @@ export default function LoginContainer (props) {
                         <FormInput
                             inputType={"text"}
                             name={"email"}
-                            value={formEmail.dict.value}
+                            value={formEmail.value}
                             placeholder={"E-mail"}
                             handleChange={e => handleChange(e, 'email')}
                             required={true}
-                            error = {formEmail.dict.key}
-                            help = {formEmail.dict.key ? ( formEmail.dict.value.length == 0 ? "Faltou preencher seu e-mail." : <span>Insira um endereço de e-mail válido.<br/>Por exemplo: seunome@gmail.com, seunome@hotmail.com</span>) : ""}
+                            error = {formEmail.key}
+                            help = {formEmail.key ? ( formEmail.value.length == 0 ? "Faltou preencher seu e-mail." : <span>Insira um endereço de e-mail válido.<br/>Por exemplo: seunome@gmail.com, seunome@hotmail.com</span>) : ""}
                         />
                         <br/>
                         <FormInput
                             inputType={"password"}
                             name={"senha"}
-                            value={formSenha.dict.value}
+                            value={formSenha.value}
                             placeholder={"Senha"}
                             handleChange={e => handleChange(e, 'password')}
                             required={true}
-                            error = {formSenha.dict.key}
-                            help = {formSenha.dict.key ? (formSenha.dict.value.length == 0 ? "Faltou digitar sua senha." : "A senha precisa ter no mínimo 8 caracteres.") : ""}
+                            error = {formSenha.key}
+                            help = {formSenha.key ? (formSenha.value.length == 0 ? "Faltou digitar sua senha." : "A senha precisa ter no mínimo 8 caracteres.") : ""}
                         />
                         <br/>
 
@@ -164,7 +160,7 @@ export default function LoginContainer (props) {
                         </RememberRecover>
 
                         <ConfirmContainerStyled>
-                            <StyledLoginButton onClick={e => onSubmit(e)} variant="contained">
+                            <StyledLoginButton type="submit" variant="contained">
                                 <span style={{borderRadius:"3px", boxSizing:"border-box", fontFamily:"Roboto, sans serif", fontWeight:"500", color:"#fff"}}>ENTRAR</span>
                             </StyledLoginButton>
                         </ConfirmContainerStyled>
diff --git a/src/Components/SignUpContainerFunction.js b/src/Components/SignUpContainerFunction.js
index ed137f75..44e3df95 100644
--- a/src/Components/SignUpContainerFunction.js
+++ b/src/Components/SignUpContainerFunction.js
@@ -36,28 +36,22 @@ var callback = function () {
 export default function SignUpContainer (props) {
     const [formNome, setNome] = useState(
         {
-            dict : {
                 key : false,
                 value : "",
-            }
         }
     )
 
     const [formEmail, setEmail] = useState(
         {
-            dict : {
                 key : false,
                 value : "",
-            }
         }
     )
 
     const [formSenha, setSenha] = useState(
         {
-            dict : {
                 key : false,
                 value : ""
-            }
         }
     )
 
@@ -66,43 +60,43 @@ export default function SignUpContainer (props) {
         const flag = ValidateUserInput(type, userInput)
 
         if (type === 'username') {
-            setNome({...formNome, dict : {
+            setNome({...formNome,
                 key : flag,
                 value : userInput
-            }})
+            })
             console.log(formNome)
         }
         else if(type === 'email') {
-            setEmail({...formEmail, dict : {
+            setEmail({...formEmail,
                 key : flag,
                 value : userInput
-            }})
+            })
             console.log(formEmail)
         }
         else if(type === 'password') {
-            setSenha({...formSenha, dict : {
+            setSenha({...formSenha,
                 key : flag,
                 value : userInput
-            }})
+            })
             console.log(formSenha)
         }
     }
 
     const limpaCamposForm = () => {
-        setNome({...formNome, dict : {
+        setNome({...formNome,
             key : false,
             value : ''
-        }})
+        })
 
-        setEmail({...formEmail, dict : {
+        setEmail({...formEmail,
             key : false,
             value : ''
-        }});
+        });
 
-        setSenha({...formSenha, dict : {
+        setSenha({...formSenha,
             key : false,
             value : ''
-        }})
+        })
     }
 
     const responseGoogle = (response) => {
@@ -117,9 +111,9 @@ export default function SignUpContainer (props) {
 
     const onSubmit = (e) => {
         e.preventDefault();
-        const newLogin = {name : formNome.dict.value, email : formEmail.dict.value, password : formSenha.dict.value}
+        const newLogin = {name : formNome.value, email : formEmail.value, password : formSenha.value}
 
-        if (!(formNome.dict.key || formEmail.dict.key || formSenha.dict.key)) {
+        if (!(formNome.key || formEmail.key || formSenha.key)) {
             props.handleLoginInfo(newLogin)
             limpaCamposForm()
         }
@@ -160,33 +154,33 @@ export default function SignUpContainer (props) {
                     <FormInput
                         inputType={"text"}
                         name={"name"}
-                        value={formNome.dict.value}
+                        value={formNome.value}
                         placeholder={"Nome Completo"}
                         handleChange={e => handleChange(e, 'username')}
                         required={true}
-                        error={formNome.dict.key}
+                        error={formNome.key}
                     />
                     <br/>
                     <FormInput
                         inputType={"text"}
                         name={"email"}
-                        value={formEmail.dict.value}
+                        value={formEmail.value}
                         placeholder={"E-mail"}
                         handleChange={e => handleChange(e, 'email')}
                         required={true}
-                        error={formEmail.dict.key}
-                        help = {formEmail.dict.key ? (formEmail.dict.value.length == 0 ? "Faltou preencher seu e-mail." : <span>Insira um endereço de e-mail válido.<br/>Por exemplo: seunome@gmail.com, seunome@hotmail.com</span>) : ""}
+                        error={formEmail.key}
+                        help = {formEmail.key ? (formEmail.value.length == 0 ? "Faltou preencher seu e-mail." : <span>Insira um endereço de e-mail válido.<br/>Por exemplo: seunome@gmail.com, seunome@hotmail.com</span>) : ""}
                         />
                     <br/>
                     <FormInput
                         inputType={"password"}
                         name={"password"}
-                        value={formSenha.dict.value}
+                        value={formSenha.value}
                         placeholder={"Senha"}
                         handleChange={e => handleChange(e, 'password')}
                         required={true}
-                        error={formSenha.dict.key}
-                        help = {formSenha.dict.key ? (formSenha.dict.value.length == 0 ? "Faltou digitar sua senha." : "A senha precisa ter no mínimo 8 caracteres.") : ""}
+                        error={formSenha.key}
+                        help = {formSenha.key ? (formSenha.value.length == 0 ? "Faltou digitar sua senha." : "A senha precisa ter no mínimo 8 caracteres.") : ""}
                         />
                     <br/>
                     <Recaptcha
diff --git a/src/Components/TabPanels/TabPanelGerenciarConta.js b/src/Components/TabPanels/TabPanelGerenciarConta.js
index 74a9d839..4ed6f6a8 100644
--- a/src/Components/TabPanels/TabPanelGerenciarConta.js
+++ b/src/Components/TabPanels/TabPanelGerenciarConta.js
@@ -9,63 +9,51 @@ import ValidateUserInput from '../FormValidationFunction.js'
 export default function TabPanelGerenciarConta (props) {
     const [senhaAtual, setSenhaAtual] = useState(
         {
-            dict : {
-                key : false,
-                value : localStorage.getItem("@portalmec/senha") || ""
-            }
-        }
-    )
+            key : false,
+            value : localStorage.getItem("@portalmec/senha") || ""
+    })
 
     const [novaSenha, setNovaSenha] = useState(
         {
-            dict : {
-                key : false,
-                value : ""
-            }
-        }
-    )
+            key : false,
+            value : ""
+    })
 
     const [novaSenhaConfirmacao, setNovaSenhaConfirmacao] = useState(
         {
-            dict : {
-                key : false,
-                value : ""
-            }
-        }
-    )
+            key : false,
+            value : ""
+    })
 
     const [novoEmail, setNovoEmail] = useState(
         {
-            dict : {
-                key : false,
-                value : ""
-            }
-        }
-    )
+            key : false,
+            value : ""
+    })
 
     const handleChangeSenha = (e, type) => {
         const userInput = e.target.value
-        const flag = (type === 'confirmacao' ? ValidateUserInput('confirmation', userInput, novaSenha.dict.value) : ValidateUserInput('password', userInput))
+        const flag = (type === 'confirmacao' ? ValidateUserInput('confirmation', userInput, novaSenha.value) : ValidateUserInput('password', userInput))
 
         if(type === 'senhaAtual') {
-            setSenhaAtual({...senhaAtual, dict : {
+            setSenhaAtual({...senhaAtual,
                 key : flag,
                 value : userInput
-            }})
+            })
             console.log(senhaAtual)
         }
         else if(type === 'novaSenha') {
-            setNovaSenha({...novaSenha, dict : {
+            setNovaSenha({...novaSenha,
                 key : flag,
                 value : userInput
-            }})
+            })
             console.log(novaSenha)
         }
         else if (type === 'confirmacao'){
-            setNovaSenhaConfirmacao({...novaSenhaConfirmacao, dict : {
+            setNovaSenhaConfirmacao({...novaSenhaConfirmacao,
                 key : flag,
                 value : userInput
-            }})
+            })
             console.log(novaSenhaConfirmacao)
         }
     }
@@ -74,50 +62,50 @@ export default function TabPanelGerenciarConta (props) {
         const userInput = e.target.value
         const flag = ValidateUserInput('email', userInput)
 
-        setNovoEmail({...novoEmail, dict : {
+        setNovoEmail({...novoEmail,
             key : flag,
             value : userInput
-        }})
+        })
 
         console.log(novoEmail)
     }
 
     const limpaCamposForm = () => {
-        setSenhaAtual({...senhaAtual, dict : {
+        setSenhaAtual({...senhaAtual,
             key : false,
             value : ''
-        }})
+        })
 
-        setNovaSenha({...novaSenha, dict : {
+        setNovaSenha({...novaSenha,
             key : false,
             value : ''
-        }})
+        })
 
-        setNovaSenhaConfirmacao({...novaSenhaConfirmacao, dict : {
+        setNovaSenhaConfirmacao({...novaSenhaConfirmacao,
             key : false,
             value : ''
-        }})
+        })
     }
 
     const onSubmit = (e, type) => {
         e.preventDefault()
 
         if (type === 'senha'){
-            if (senhaAtual.dict.value === localStorage.getItem("@portalmec/senha")) {
-                const login = {senhaAtual : senhaAtual.dict.value, novaSenha : novaSenha.dict.value, novaSenhaConfirmacao : novaSenhaConfirmacao.dict.value}
+            if (senhaAtual.value === localStorage.getItem("@portalmec/senha")) {
+                const login = {senhaAtual : senhaAtual.value, novaSenha : novaSenha.value, novaSenhaConfirmacao : novaSenhaConfirmacao.value}
 
-                if (!(senhaAtual.dict.key || novaSenha.dict.key || novaSenhaConfirmacao.dict.key)) {
+                if (!(senhaAtual.key || novaSenha.key || novaSenhaConfirmacao.key)) {
                     console.log(login)
                     limpaCamposForm()
                     props.handleSnackbar()
                 }
             }
             else {
-                console.log(localStorage.getItem("@portalmec/senha"), senhaAtual.dict.value)
+                console.log(localStorage.getItem("@portalmec/senha"), senhaAtual.value)
             }
         }
         else {
-            console.log(novoEmail.dict.value)
+            console.log(novoEmail.value)
         }
 
     }
@@ -134,32 +122,32 @@ export default function TabPanelGerenciarConta (props) {
                         <FormInput
                             inputType={"password"}
                             name={"Senha Atual"}
-                            value={senhaAtual.dict.value}
+                            value={senhaAtual.value}
                             placeholder={"Senha atual"}
                             handleChange={e => handleChangeSenha(e, 'senhaAtual')}
                             required={true}
-                            error={senhaAtual.dict.key}
-                            help={ senhaAtual.dict.key ? "Faltou inserir sua senha atual" : ""}
+                            error={senhaAtual.key}
+                            help={ senhaAtual.key ? "Faltou inserir sua senha atual" : ""}
                         />
                         <FormInput
                             inputType={"password"}
                             name={"Nova senha"}
-                            value={novaSenha.dict.value}
+                            value={novaSenha.value}
                             placeholder={"Nova senha"}
                             handleChange={e => handleChangeSenha(e, 'novaSenha')}
                             required={true}
-                            error={novaSenha.dict.key}
-                            help={ novaSenha.dict.key ? (novaSenha.dict.value.length == 0 ? "Faltou definir uma nova senha" : "A senha precisa ter no mínimo 8 caracteres.") : ""}
+                            error={novaSenha.key}
+                            help={ novaSenha.key ? (novaSenha.value.length == 0 ? "Faltou definir uma nova senha" : "A senha precisa ter no mínimo 8 caracteres.") : ""}
                         />
                         <FormInput
                             inputType={"password"}
                             name={"Digite novamente a nova senha"}
-                            value={novaSenhaConfirmacao.dict.value}
+                            value={novaSenhaConfirmacao.value}
                             placeholder={"Digite novamente a nova senha"}
                             handleChange={e => handleChangeSenha(e, 'confirmacao')}
                             required={true}
-                            error={novaSenhaConfirmacao.dict.key}
-                            help={ novaSenhaConfirmacao.dict.key ? "As senhas devem ser iguais" : ""}
+                            error={novaSenhaConfirmacao.key}
+                            help={ novaSenhaConfirmacao.key ? "As senhas devem ser iguais" : ""}
                         />
                         <div style={{display:"flex", flexDirection:"row", justifyContent:"space-evenly"}}>
                             <span style={{paddingTop:"0.7em"}}><a href="recuperar-senha" style={{textAlign: "flex-start", color:"#00bcd4"}}>Esqueceu a senha?</a></span>
@@ -182,11 +170,11 @@ export default function TabPanelGerenciarConta (props) {
                         <FormInput
                             inputType={"text"}
                             name={"email"}
-                            value={novoEmail.dict.value}
+                            value={novoEmail.value}
                             placeholder={"E-mail"}
                             handleChange={e => handleChangeEmail(e)}
                             required={true}
-                            error = {novoEmail.dict.key}
+                            error = {novoEmail.key}
                         />
                         <div style={{margin:"0", display:"flex", justifyContent:"flex-start"}}>
                             <CompletarCadastroButton type="submit">SALVAR ALTERAÇÕES</CompletarCadastroButton>
-- 
GitLab


From 815ddba6e911987cbd9bb0cb069d8d3cf661b7e5 Mon Sep 17 00:00:00 2001
From: Lucas Schoenfelder <les17@inf.ufpr.br>
Date: Fri, 14 Feb 2020 15:26:00 -0300
Subject: [PATCH 24/29] trabalhando pag 2

---
 .../PageProfessorComponents/PartOne.js        | 48 +++++++++++--------
 .../PageProfessorComponents/PartThree.js      | 39 ++++++++++++---
 .../PageProfessorComponents/PartTwo.js        | 46 ++++++++++++++++--
 src/Components/Table.js                       | 35 ++++++--------
 src/Pages/PageProfessor.js                    | 40 ++++++++++++----
 src/env.js                                    |  7 ++-
 6 files changed, 154 insertions(+), 61 deletions(-)

diff --git a/src/Components/PageProfessorComponents/PartOne.js b/src/Components/PageProfessorComponents/PartOne.js
index 5c4b92f6..082ac22f 100644
--- a/src/Components/PageProfessorComponents/PartOne.js
+++ b/src/Components/PageProfessorComponents/PartOne.js
@@ -12,7 +12,7 @@ import {ButtonCancelar} from './PartTwo.js'
 import axios from 'axios'
 import FormInput from '../FormInput.js'
 
-function sortDict (dict) {
+export function sortDict (dict) {
     const newDict = dict.sort((a, b) => (a.name) > (b.name) ? 1 : -1)
     return newDict
 
@@ -31,7 +31,9 @@ export default function PartOne (props) {
     const [uf, setUF] = useState(
         {
             algumFoiEscolhido : false,
-            value : ''
+            selected : '', //id
+            name : '',
+            abbreviation : ''
         }
     )
 
@@ -39,27 +41,28 @@ export default function PartOne (props) {
     const [municipio, setMunicipio] = useState(
         {
             algumFoiEscolhido : false,
-            value : ''
+            selected : '',
+            name : ''
         }
     )
 
     const [codigoINEP, setCodigoINEP] = useState(
         {
             codigoInvalido : false,
-            value : ''
+            selected : ''
         }
     )
     const handleCodigoINEP = (event) => {
         const code = event.target.value
-        
+
         setCodigoINEP({...codigoINEP,
             codigoInvalido : false,
-            value : code
+            selected : code
         })
     }
 
     const validateINEP = () => {
-        const code = codigoINEP.value
+        const code = codigoINEP.selected
 
         axios.get(('https://www.simcaq.c3sl.ufpr.br/api/v1/portal_mec_inep?filter=school_cod:' + code)
         ).then( (response) => {
@@ -67,14 +70,15 @@ export default function PartOne (props) {
         }, (error) => {
             setCodigoINEP({...codigoINEP,
                 codigoInvalido : true,
-                value : ''
+                selected : ''
             })
         }
         )
     }
 
     const handleSubmit = () => {
-        props.handleBuscar(uf.value, municipio.value, codigoINEP.value)
+        console.log('handle submit : ', uf.abbreviation, uf.selected, municipio.name, municipio.selected, codigoINEP.value)
+        props.handleBuscar(uf.abbreviation, uf.selected, municipio.name, municipio.selected, codigoINEP.value)
     }
 
     //on render component, call simcaq api and update ufList
@@ -87,10 +91,14 @@ export default function PartOne (props) {
     }, [])
 
     const handleChooseUF = (event) => {
-        const ufID = event.target.value
+        const ufID = event.target.value.ufID
+        const ufAbbreviation = event.target.value.abbreviation
+        const ufName = event.target.value.name
         setUF({...uf,
                 algumFoiEscolhido : true,
-                value : ufID
+                selected : ufID,
+                name : ufName,
+                abbreviation : ufAbbreviation
             }
         )
 
@@ -102,10 +110,12 @@ export default function PartOne (props) {
     }
 
     const handleChooseCity = (event) => {
-        const cityID = event.target.value
+        const cityID = event.target.value.id
+        const cityName = event.target.value.name
         setMunicipio({...municipio,
                  algumFoiEscolhido : true,
-                 value : cityID
+                 selected : cityID,
+                 name : cityName
              }
         )
     }
@@ -123,12 +133,12 @@ export default function PartOne (props) {
                      <Select
                        labelId="demo-simple-select-label"
                        id="demo-simple-select"
-                       value={uf.value}
+                       value={uf.name}
                        onChange={handleChooseUF}
                      >
                      {
                         ufList.map( (ufs)=>
-                            <MenuItem value={ufs.id}>{ufs.name}</MenuItem>
+                            <MenuItem key={ufs.id} value={{abbreviation : ufs.abbreviation, ufID : ufs.id, name : ufs.name}}>{ufs.name}</MenuItem>
                         )
                      }
                      </Select>
@@ -138,12 +148,12 @@ export default function PartOne (props) {
                      <Select
                        labelId="demo-simple-select-label"
                        id="demo-simple-select"
-                       value={municipio.value}
+                       value={municipio.name}
                        onChange={handleChooseCity}
                      >
                      {
                         municipioList.map( (cidades)=>
-                            <MenuItem value={cidades.id}>{cidades.name}</MenuItem>
+                            <MenuItem value={{id : cidades.id, name : cidades.name}}>{cidades.name}</MenuItem>
                         )
                      }
                      </Select>
@@ -169,7 +179,7 @@ export default function PartOne (props) {
                          <FormInput
                            inputType={'text'}
                            name={'Código INEP'}
-                           value={codigoINEP.value}
+                           value={codigoINEP.selected}
                            handleChange = {handleCodigoINEP}
                            placeholder={'Código INEP'}
                            required={true}
@@ -188,7 +198,7 @@ export default function PartOne (props) {
             </Content>
             <Divider/>
             <ButtonsArea>
-                <ButtonCancelar>CANCELAR VERIFICAÇÃO</ButtonCancelar>
+                <ButtonCancelar onClick={props.handleCancelar}>CANCELAR VERIFICAÇÃO</ButtonCancelar>
             </ButtonsArea>
         </>
     )
diff --git a/src/Components/PageProfessorComponents/PartThree.js b/src/Components/PageProfessorComponents/PartThree.js
index 75a9faf5..32aa2064 100644
--- a/src/Components/PageProfessorComponents/PartThree.js
+++ b/src/Components/PageProfessorComponents/PartThree.js
@@ -9,11 +9,33 @@ import styled from 'styled-components'
 import {Button} from '@material-ui/core'
 
 export default function PartThree (props) {
-    const [phoneNumber, setPhoneNumber] = useState('')
-    const handleChangePhoneNumber = (event) => {setPhoneNumber(event.target.value)}
+    const [phoneNumber, setPhoneNumber] = useState(
+        {
+            flagInvalid : false,
+            number : ''
+        }
+    )
+    const handleChangePhoneNumber = (event) => {
+        const input = event.target.value.replace(/\D/,'')
+        setPhoneNumber({...phoneNumber,
+            flagInvalid : (input.length > 9 ? true : false),
+            number : (input.length > 9 ? phoneNumber.number : input),
+        })
+    }
+
+    const [cpf, setCpf] = useState( {
+        flagInvalid : false,
+        number : ''
+    })
+    const handleChangeCpf = (event) => {
+        const input = event.target.value.replace(/\D/,'')
+        setCpf({...cpf,
+            flagInvalid : (input.length > 11 ? true : false),
+            number : (input.length > 11 ? cpf.number : input),
+        })
+    }
+
 
-    const [cpf, setCpf] = useState('')
-    const handleChangeCpf = (event) => {setCpf(event.target.value)}
     return (
         <>
         <Content>
@@ -25,10 +47,12 @@ export default function PartThree (props) {
                      <p>Inserir o telefone da escola:</p>
                      <FormInput
                         inputType={'text'}
+                        pattern="[0-9]"
                         name={'DDD e Número'}
                         placeholder={'DDD e Número'}
-                        value={phoneNumber}
+                        value={phoneNumber.number}
                         handleChange={handleChangePhoneNumber}
+                        error={phoneNumber.flagInvalid}
                      >
                      </FormInput>
                 </FormControl>
@@ -38,7 +62,7 @@ export default function PartThree (props) {
                         inputType={'text'}
                         name={'11 dígitos'}
                         placeholder={'11 dígitos'}
-                        value={cpf}
+                        value={cpf.number}
                         handleChange={handleChangeCpf}
                         mask={'999.999.999-99'}
                      >
@@ -49,7 +73,8 @@ export default function PartThree (props) {
                         <ButtonConfirmar onClick={props.handleBuscar}>BUSCAR</ButtonConfirmar>
                     </div>
                     <div style={{display:"flex", justifyContent:"center"}}>
-                        <ButtonGrey>VOLTAR</ButtonGrey><ButtonCancelar>CANCELAR</ButtonCancelar>
+                        <ButtonGrey onClick={() => props.goBack(false, true, false)}>VOLTAR</ButtonGrey>
+                        <ButtonCancelar onClick={props.handleCancelar}>CANCELAR</ButtonCancelar>
                     </div>
                 </div>
             </form>
diff --git a/src/Components/PageProfessorComponents/PartTwo.js b/src/Components/PageProfessorComponents/PartTwo.js
index e8bce948..2a9237e7 100644
--- a/src/Components/PageProfessorComponents/PartTwo.js
+++ b/src/Components/PageProfessorComponents/PartTwo.js
@@ -1,15 +1,47 @@
-import React from 'react'
+import React, {useState, useEffect} from 'react'
 import {Content, ButtonsArea} from './PartOne.js'
 import Divider from '@material-ui/core/Divider';
 import Stepper from '../Stepper.js'
 import CustomizedTables from '../Table.js'
 import styled from 'styled-components'
 import {Button} from '@material-ui/core'
+import axios from 'axios'
+import {simcaqAPIurl} from '../../env'
+import {sortDict} from './PartOne.js'
 
 export default function PartTwo (props) {
+    const [htttpRequestDone, setDone] = useState(false)
+    const [schoolList, setSchoolList] = useState([])
+
+    useEffect ( () => {
+        const code = (props.info.inep_code || '')
+        const uf = (props.info.school_uf.id || '')
+        const municipio = (props.info.school_City.id || '')
+        console.log(code, uf, municipio)
+        //if user searched by inep code
+        if (code != '') {
+            axios.get((`${simcaqAPIurl}/portal_mec_inep?filter=school_cod:` + code)
+        ).then ((response) => {
+            console.log(response.data.result)
+
+            setSchoolList(response.data.result)
+            setDone(true)
+
+        }, (error) => console.log('erro ao dar get na escola por inep code')
+        )}
+        else if (uf != '' && municipio != '') {
+            axios.get((`${simcaqAPIurl}/school?filter=state:"` + uf + '",city_name:"' + municipio + '"')
+        ). then((response)=> {
+            console.log(response.data.result)
+            setSchoolList(sortDict(response.data.result))
+            setDone(true)
+        }, (error) => console.log('erro ao dar get na escola por uf e municipio', code, uf, municipio)
+        )}
+    }, [])
+
     return (
         <>
-            {console.log(props.info)}
+            {console.log(props)}
             <Content>
                 <h4>Vamos localizar o seu cadastro:</h4>
                 <Stepper items={props.stepper}/>
@@ -17,12 +49,18 @@ export default function PartTwo (props) {
             <Content>
                 <InputContainer>
                     <p>Selecione a sua escola:</p>
-                    <CustomizedTables onClick={props.onClickTable}/>
+
+                            <CustomizedTables onClick={props.onClickTable}
+                            columns={['Codigo INEP', 'Escola', 'UF', 'Cidade']}
+                            rows={schoolList}
+                            />
+
                 </InputContainer>
             </Content>
             <Divider/>
             <ButtonsArea>
-                <ButtonGrey>VOLTAR</ButtonGrey><ButtonCancelar>CANCELAR VERIFICAÇÃO</ButtonCancelar>
+                <ButtonGrey onClick={() => props.goBack(true, false, false)}>VOLTAR</ButtonGrey>
+                <ButtonCancelar onClick={props.handleCancelar}>CANCELAR VERIFICAÇÃO</ButtonCancelar>
             </ButtonsArea>
         </>
     )
diff --git a/src/Components/Table.js b/src/Components/Table.js
index 9bad6231..bdf987ce 100644
--- a/src/Components/Table.js
+++ b/src/Components/Table.js
@@ -31,17 +31,6 @@ const StyledTableRow = withStyles(theme => ({
   },
 }))(TableRow);
 
-function createData(name, calories, fat, carbs) {
-  return { name, calories, fat, carbs};
-}
-
-const rows = [
-  createData('Frozen yoghurt', 159, 6.0, 24),
-  createData('Ice cream sandwich', 237, 9.0, 37),
-  createData('Eclair', 262, 16.0, 24),
-  createData('Cupcake', 305, 3.7, 67),
-  createData('Gingerbread', 356, 16.0, 49),
-];
 
 const useStyles = makeStyles({
   table: {
@@ -53,29 +42,33 @@ export default function CustomizedTables(props) {
   const classes = useStyles();
 
   return (
+      <>
+    {console.log(props)}
     <TableContainer component={Paper}>
       <Table className={classes.table} aria-label="customized table">
         <TableHead>
           <TableRow>
-            <StyledTableCell>Codigo INEP</StyledTableCell>
-            <StyledTableCell align="right">Escola</StyledTableCell>
-            <StyledTableCell align="right">UF</StyledTableCell>
-            <StyledTableCell align="right">Cidade</StyledTableCell>
+            {
+                props.columns.map( (column)=>
+                <StyledTableCell align="left">{column}</StyledTableCell>
+            )
+            }
           </TableRow>
         </TableHead>
         <TableBody>
-          {rows.map(row => (
-            <StyledTableRow key={row.name}>
+          {props.rows.map(row => (
+            <StyledTableRow onClick={props.onClick} key={row.id}>
               <StyledTableCell component="th" scope="row">
-                {row.name}
+                {row.id}
               </StyledTableCell>
-              <StyledTableCell align="right" onClick={props.onClick}>{row.calories}</StyledTableCell>
-              <StyledTableCell align="right">{row.fat}</StyledTableCell>
-              <StyledTableCell align="right">{row.carbs}</StyledTableCell>
+              <StyledTableCell align="left">{row.name}</StyledTableCell>
+              <StyledTableCell align="left">{row.state_name}</StyledTableCell>
+              <StyledTableCell align="left">{row.city_name}</StyledTableCell>
             </StyledTableRow>
           ))}
         </TableBody>
       </Table>
     </TableContainer>
+    </>
   );
 }
diff --git a/src/Pages/PageProfessor.js b/src/Pages/PageProfessor.js
index b89eacc8..295818ce 100644
--- a/src/Pages/PageProfessor.js
+++ b/src/Pages/PageProfessor.js
@@ -18,8 +18,14 @@ export default function PageProfessor (props) {
             teacher_cpf: '',
             school_phone: '',
             school_name: '',
-            school_City: '', // perguntar se aqui é o id ou o nome
-            school_uf : '', //perguntar se aqui é o id ou o nome
+            school_City : {
+                id : '',
+                name : ''
+            },
+            school_uf : {
+                id : '',
+                abbreviation : ''
+            },
             inep_code: ''
         }
     )
@@ -37,13 +43,20 @@ export default function PageProfessor (props) {
         )
     }
 
-    const handleBuscar = (uf, municipio, inep) => {
+    const handleBuscar = (ufAbbreviation, ufID, nomeMunicipio, idMunicipio, inep) => {
+        console.log(ufAbbreviation, ufID, nomeMunicipio, idMunicipio, inep)
         setRegisterInformation({...registerInformation,
-            school_uf : uf,
-            school_City : municipio,
-            inep_code : inep
+            school_uf : {
+                id : (ufID ? ufID : ''),
+                abbreviation: (ufAbbreviation ? ufAbbreviation : '')
+            },
+            school_City : {
+                id : (idMunicipio ? idMunicipio : ''),
+                name : (nomeMunicipio ? nomeMunicipio : '')
+            },
+            inep_code : (inep ? inep : '')
         })
-        toggleStepper(false, true, false)
+        toggleStepper(false, false, true)
     }
 
     const handleCancelar = () => {
@@ -69,8 +82,17 @@ export default function PageProfessor (props) {
                                             handleCancelar={handleCancelar}
                                         />
                                     }
-                                    {stepper[1].selected && <PartTwo stepper={stepper} onClickTable={onClickTable} info={registerInformation}/>}
-                                    {stepper[2].selected && <PartThree stepper={stepper}/>}
+                                    {stepper[1].selected &&
+                                        <PartTwo stepper={stepper} onClickTable={onClickTable}
+                                        info={registerInformation} goBack={toggleStepper}
+                                        handleCancelar={handleCancelar}
+                                        />
+                                    }
+                                    {stepper[2].selected &&
+                                        <PartThree stepper={stepper} goBack={toggleStepper}
+                                        handleCancelar={handleCancelar}
+                                        />
+                                    }
                                 </div>
                             </Paper>
                         </div>
diff --git a/src/env.js b/src/env.js
index 3ba1693d..36b6bc8d 100644
--- a/src/env.js
+++ b/src/env.js
@@ -17,9 +17,14 @@ 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/>.*/
 
 
-var apiDomain = 'https://api.portalmec.c3sl.ufpr.br/',
+var apiDomain = 'https://api.portalmec.c3sl.ufpr.br',
     apiVersion = 'v1',
     apiUrl = apiDomain + '/' + apiVersion;
 
+var simcaqAPIDomain = 'https://www.simcaq.c3sl.ufpr.br',
+    apiVersion = 'v1',
+    simcaqAPIurl = simcaqAPIDomain + '/' + apiVersion
+
 export {apiUrl};
 export {apiDomain};
+export {simcaqAPIurl}
-- 
GitLab


From 4ab77487f3990eada1849ca7382bf70afab5bbee Mon Sep 17 00:00:00 2001
From: Lucas Schoenfelder <les17@inf.ufpr.br>
Date: Tue, 18 Feb 2020 08:49:50 -0300
Subject: [PATCH 25/29] segunda parte da pagina de pedir pra ser professor
 pronta

---
 src/Components/ComponentAlterarAvatar.js      | 17 ++++++----
 .../PageProfessorComponents/PartOne.js        |  8 +++--
 .../PageProfessorComponents/PartThree.js      |  3 +-
 .../PageProfessorComponents/PartTwo.js        | 20 ++++++-----
 src/Components/Table.js                       | 11 ++++--
 src/Pages/PageProfessor.js                    | 34 ++++++++++++++++---
 src/Pages/UserPage.js                         |  2 +-
 src/Store.js                                  |  2 +-
 src/env.js                                    |  2 +-
 9 files changed, 70 insertions(+), 29 deletions(-)

diff --git a/src/Components/ComponentAlterarAvatar.js b/src/Components/ComponentAlterarAvatar.js
index f6ed1c11..5ce25f28 100644
--- a/src/Components/ComponentAlterarAvatar.js
+++ b/src/Components/ComponentAlterarAvatar.js
@@ -128,6 +128,7 @@ const AvatarCircleDiv = styled.div`
     height : 150px;
     width : 150px;
     position : relative;
+    overflow: hidden;
 `
 
 const DivFlowHolder =styled.div`
@@ -204,13 +205,15 @@ export default function ComponentAlterarAvatar (props) {
                                             <img src={this.props.userAvatar} alt={'user avatar'} style={{height:"inherit", width:"inherit", objectFit:"cover"}}/>
                                         )
                                     }
-                                    <ChangeAvatarDiv>
-                                        <span>Alterar</span>
-                                        <input accept="image/*" id="icon-button-file"
-                                        type="file"
-                                        onChange={(e) => props.handleFile(e.target.files) }
-                                        style={{display:"none"}}/>
-                                    </ChangeAvatarDiv>
+                                    <input accept="image/*" id="icon-button-file"
+                                    type="file"
+                                    onChange={(e) => props.handleFile(e.target.files) }
+                                    style={{display:"none"}}/>
+                                    <label for="icon-button-file" style={{width:"inherit"}}>
+                                        <ChangeAvatarDiv >
+                                            <span>Alterar</span>
+                                        </ChangeAvatarDiv>
+                                    </label>
                                 </AvatarCircleDiv>
                             </DivFlowHolder>
                         </DivAlterarFoto>
diff --git a/src/Components/PageProfessorComponents/PartOne.js b/src/Components/PageProfessorComponents/PartOne.js
index 082ac22f..2628b227 100644
--- a/src/Components/PageProfessorComponents/PartOne.js
+++ b/src/Components/PageProfessorComponents/PartOne.js
@@ -11,6 +11,7 @@ import Divider from '@material-ui/core/Divider';
 import {ButtonCancelar} from './PartTwo.js'
 import axios from 'axios'
 import FormInput from '../FormInput.js'
+import {simcaqAPIurl} from '../../env'
 
 export function sortDict (dict) {
     const newDict = dict.sort((a, b) => (a.name) > (b.name) ? 1 : -1)
@@ -64,8 +65,9 @@ export default function PartOne (props) {
     const validateINEP = () => {
         const code = codigoINEP.selected
 
-        axios.get(('https://www.simcaq.c3sl.ufpr.br/api/v1/portal_mec_inep?filter=school_cod:' + code)
+        axios.get((`${simcaqAPIurl}/portal_mec_inep?filter=school_cod:` + code)
         ).then( (response) => {
+            console.log('code ', code, ' is valid')
             handleSubmit()
         }, (error) => {
             setCodigoINEP({...codigoINEP,
@@ -77,8 +79,8 @@ export default function PartOne (props) {
     }
 
     const handleSubmit = () => {
-        console.log('handle submit : ', uf.abbreviation, uf.selected, municipio.name, municipio.selected, codigoINEP.value)
-        props.handleBuscar(uf.abbreviation, uf.selected, municipio.name, municipio.selected, codigoINEP.value)
+        //console.log('handle submit : ', uf.abbreviation, uf.selected, municipio.name, municipio.selected, codigoINEP.selected)
+        props.handleBuscar(uf.abbreviation, uf.selected, municipio.name, municipio.selected, codigoINEP.selected)
     }
 
     //on render component, call simcaq api and update ufList
diff --git a/src/Components/PageProfessorComponents/PartThree.js b/src/Components/PageProfessorComponents/PartThree.js
index 32aa2064..28a88612 100644
--- a/src/Components/PageProfessorComponents/PartThree.js
+++ b/src/Components/PageProfessorComponents/PartThree.js
@@ -38,11 +38,12 @@ export default function PartThree (props) {
 
     return (
         <>
+        {console.log(props)}
         <Content>
             <h4>Vamos localizar o seu cadastro:</h4>
             <Stepper items={props.stepper}/>
             <form style={{textAlign:"start"}}>
-                <span>CENTRO EDUC INF MEU PEDACINHO DE CHAO</span>
+                <span>{props.info.school_name}</span>
                 <FormControl required style={{width:"100%"}}>
                      <p>Inserir o telefone da escola:</p>
                      <FormInput
diff --git a/src/Components/PageProfessorComponents/PartTwo.js b/src/Components/PageProfessorComponents/PartTwo.js
index 2a9237e7..185341d6 100644
--- a/src/Components/PageProfessorComponents/PartTwo.js
+++ b/src/Components/PageProfessorComponents/PartTwo.js
@@ -17,31 +17,35 @@ export default function PartTwo (props) {
         const code = (props.info.inep_code || '')
         const uf = (props.info.school_uf.id || '')
         const municipio = (props.info.school_City.id || '')
-        console.log(code, uf, municipio)
+        //console.log(code, uf, municipio)
+
         //if user searched by inep code
         if (code != '') {
             axios.get((`${simcaqAPIurl}/portal_mec_inep?filter=school_cod:` + code)
         ).then ((response) => {
-            console.log(response.data.result)
+            //console.log(response.data.result)
 
-            setSchoolList(response.data.result)
+            setSchoolList(sortDict(response.data.result))
             setDone(true)
 
         }, (error) => console.log('erro ao dar get na escola por inep code')
         )}
         else if (uf != '' && municipio != '') {
-            axios.get((`${simcaqAPIurl}/school?filter=state:"` + uf + '",city_name:"' + municipio + '"')
+            axios.get((`${simcaqAPIurl}/school?filter=state:"` + uf + '",city:"' + municipio + '",year:2017')
         ). then((response)=> {
-            console.log(response.data.result)
+            //console.log(response.data.result)
             setSchoolList(sortDict(response.data.result))
             setDone(true)
         }, (error) => console.log('erro ao dar get na escola por uf e municipio', code, uf, municipio)
         )}
     }, [])
 
+    const onClickTable = (city_name, id, name, state_name) => {
+        props.handleBuscar(city_name, id, name, state_name)
+    }
+
     return (
         <>
-            {console.log(props)}
             <Content>
                 <h4>Vamos localizar o seu cadastro:</h4>
                 <Stepper items={props.stepper}/>
@@ -50,9 +54,9 @@ export default function PartTwo (props) {
                 <InputContainer>
                     <p>Selecione a sua escola:</p>
 
-                            <CustomizedTables onClick={props.onClickTable}
+                            <CustomizedTables
                             columns={['Codigo INEP', 'Escola', 'UF', 'Cidade']}
-                            rows={schoolList}
+                            rows={schoolList} onClickTable={onClickTable}
                             />
 
                 </InputContainer>
diff --git a/src/Components/Table.js b/src/Components/Table.js
index bdf987ce..1230013c 100644
--- a/src/Components/Table.js
+++ b/src/Components/Table.js
@@ -41,9 +41,13 @@ const useStyles = makeStyles({
 export default function CustomizedTables(props) {
   const classes = useStyles();
 
+  const onClick = (row) => {
+        const {city_name, id, name, state_name} = row
+        props.onClickTable(city_name, id, name, state_name)
+  }
+
   return (
       <>
-    {console.log(props)}
     <TableContainer component={Paper}>
       <Table className={classes.table} aria-label="customized table">
         <TableHead>
@@ -57,7 +61,9 @@ export default function CustomizedTables(props) {
         </TableHead>
         <TableBody>
           {props.rows.map(row => (
-            <StyledTableRow onClick={props.onClick} key={row.id}>
+              <>
+                  {console.log('console.log(row": ', row)}
+            <StyledTableRow onClick={() => onClick(row)} key={row.id}>
               <StyledTableCell component="th" scope="row">
                 {row.id}
               </StyledTableCell>
@@ -65,6 +71,7 @@ export default function CustomizedTables(props) {
               <StyledTableCell align="left">{row.state_name}</StyledTableCell>
               <StyledTableCell align="left">{row.city_name}</StyledTableCell>
             </StyledTableRow>
+            </>
           ))}
         </TableBody>
       </Table>
diff --git a/src/Pages/PageProfessor.js b/src/Pages/PageProfessor.js
index 295818ce..b8068873 100644
--- a/src/Pages/PageProfessor.js
+++ b/src/Pages/PageProfessor.js
@@ -43,8 +43,8 @@ export default function PageProfessor (props) {
         )
     }
 
-    const handleBuscar = (ufAbbreviation, ufID, nomeMunicipio, idMunicipio, inep) => {
-        console.log(ufAbbreviation, ufID, nomeMunicipio, idMunicipio, inep)
+    const handleBuscarParteUM = (ufAbbreviation, ufID, nomeMunicipio, idMunicipio, inep) => {
+        //console.log('handleBuscarParteUM: ', ufAbbreviation, ufID, nomeMunicipio, idMunicipio, inep)
         setRegisterInformation({...registerInformation,
             school_uf : {
                 id : (ufID ? ufID : ''),
@@ -56,6 +56,30 @@ export default function PageProfessor (props) {
             },
             inep_code : (inep ? inep : '')
         })
+        toggleStepper(false, true, false)
+    }
+
+    const handleBuscarParteDois = (city_name, inep, school_name, state_name) => {
+        console.log(city_name, inep, school_name, state_name)
+        console.log((state_name ? state_name : ''))
+
+        const uf_id = registerInformation.school_uf.id
+        const school_city_id = registerInformation.school_City.id
+        const prev_state_name = registerInformation.school_uf.abbreviation
+        const prev_city_name = registerInformation.school_City.name
+
+        setRegisterInformation({...registerInformation,
+            school_uf : {
+                id : uf_id,
+                abbreviation: (state_name ? state_name : prev_state_name)
+            },
+            school_City : {
+                id : school_city_id,
+                name : (city_name ? city_name : prev_city_name)
+            },
+            school_name: (school_name ? school_name : ''),
+            inep_code : (inep ? inep : '')
+        })
         toggleStepper(false, false, true)
     }
 
@@ -78,19 +102,19 @@ export default function PageProfessor (props) {
                             <Paper elevation={3} style= {{width:"max-content"}}>
                                 <div style={{paddingRight:"15px", paddingLeft:"15px"}}>
                                     {stepper[0].selected &&
-                                        <PartOne stepper={stepper} handleBuscar={handleBuscar}
+                                        <PartOne stepper={stepper} handleBuscar={handleBuscarParteUM}
                                             handleCancelar={handleCancelar}
                                         />
                                     }
                                     {stepper[1].selected &&
                                         <PartTwo stepper={stepper} onClickTable={onClickTable}
                                         info={registerInformation} goBack={toggleStepper}
-                                        handleCancelar={handleCancelar}
+                                        handleCancelar={handleCancelar} handleBuscar={handleBuscarParteDois}
                                         />
                                     }
                                     {stepper[2].selected &&
                                         <PartThree stepper={stepper} goBack={toggleStepper}
-                                        handleCancelar={handleCancelar}
+                                        handleCancelar={handleCancelar} info={registerInformation}
                                         />
                                     }
                                 </div>
diff --git a/src/Pages/UserPage.js b/src/Pages/UserPage.js
index f6650c98..f4457ff8 100644
--- a/src/Pages/UserPage.js
+++ b/src/Pages/UserPage.js
@@ -160,7 +160,7 @@ export default function UserPage (props){
                                                 </label>
                                             </CoverContainer>
                                             <ProfileAvatarDiv onMouseEnter={handleHoverAlterarFoto} onMouseLeave={handleHoverAlterarFoto} onClick={modalControl}>
-                                                <img src={state.currentUser.userAvatar} alt = "user avatar" style={{border:"0", verticalAlign:"middle"}}/>
+                                                <img src={state.currentUser.userAvatar} alt = "user avatar" style={{height : "inherit", width : "inherit", border:"0", verticalAlign:"middle"}}/>
                                                 <ChangeAvatarDiv  style={ {display : hoverAlterarFoto ? 'flex' : 'none'}}>
                                                     <span>Alterar Foto</span>
                                                 </ChangeAvatarDiv>
diff --git a/src/Store.js b/src/Store.js
index d57a0cde..539aecb6 100644
--- a/src/Store.js
+++ b/src/Store.js
@@ -22,7 +22,7 @@ export const Store = React.createContext()
 
 const initialState = {
   searchOpen: false,
-  userIsLoggedIn : false,
+  userIsLoggedIn : true,
   userAgreedToPublicationTerms: true,
   userAgreedToPublicationPermissions: false,
   modalColaborarPlataformaOpen : false,
diff --git a/src/env.js b/src/env.js
index 36b6bc8d..1f221ee7 100644
--- a/src/env.js
+++ b/src/env.js
@@ -21,7 +21,7 @@ var apiDomain = 'https://api.portalmec.c3sl.ufpr.br',
     apiVersion = 'v1',
     apiUrl = apiDomain + '/' + apiVersion;
 
-var simcaqAPIDomain = 'https://www.simcaq.c3sl.ufpr.br',
+var simcaqAPIDomain = 'https://www.simcaq.c3sl.ufpr.br/api',
     apiVersion = 'v1',
     simcaqAPIurl = simcaqAPIDomain + '/' + apiVersion
 
-- 
GitLab


From 2fe641609616900bfe1d52d88dc65394f130fc6e Mon Sep 17 00:00:00 2001
From: Lucas Schoenfelder <les17@inf.ufpr.br>
Date: Tue, 18 Feb 2020 20:36:59 -0300
Subject: [PATCH 26/29] tela requisicao para ser professor pronta

---
 package-lock.json                             |  23 ++-
 package.json                                  |   1 +
 src/Components/ModalConfirmarProfessor.js     | 157 ++++++++++++++++++
 .../PageProfessorComponents/PartOne.js        |   3 +-
 .../PageProfessorComponents/PartThree.js      |  16 +-
 .../PageProfessorComponents/PartTwo.js        |  12 +-
 src/Components/Table.js                       |   1 -
 src/Pages/PageProfessor.js                    |  89 ++++++----
 8 files changed, 254 insertions(+), 48 deletions(-)
 create mode 100644 src/Components/ModalConfirmarProfessor.js

diff --git a/package-lock.json b/package-lock.json
index 99817446..4bb79c10 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -2338,9 +2338,9 @@
       "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA=="
     },
     "@hapi/hoek": {
-      "version": "8.5.0",
-      "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.0.tgz",
-      "integrity": "sha512-7XYT10CZfPsH7j9F1Jmg1+d0ezOux2oM2GfArAzLwWe4mE2Dr3hVjsAL6+TFY49RRJlCdJDMw3nJsLFroTc8Kw=="
+      "version": "8.5.1",
+      "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.1.tgz",
+      "integrity": "sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow=="
     },
     "@hapi/joi": {
       "version": "15.1.1",
@@ -12977,6 +12977,15 @@
         "camelcase": "^5.0.0"
       }
     },
+    "react-input-mask": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/react-input-mask/-/react-input-mask-2.0.4.tgz",
+      "integrity": "sha512-1hwzMr/aO9tXfiroiVCx5EtKohKwLk/NT8QlJXHQ4N+yJJFyUuMT+zfTpLBwX/lK3PkuMlievIffncpMZ3HGRQ==",
+      "requires": {
+        "invariant": "^2.2.4",
+        "warning": "^4.0.2"
+      }
+    },
     "react-is": {
       "version": "16.8.6",
       "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.8.6.tgz",
@@ -15273,6 +15282,14 @@
         "makeerror": "1.0.x"
       }
     },
+    "warning": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz",
+      "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==",
+      "requires": {
+        "loose-envify": "^1.0.0"
+      }
+    },
     "watchpack": {
       "version": "1.6.0",
       "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz",
diff --git a/package.json b/package.json
index 6786c289..b3585858 100644
--- a/package.json
+++ b/package.json
@@ -16,6 +16,7 @@
     "react-google-login": "^5.0.7",
     "react-grid-system": "^4.4.11",
     "react-icons": "^3.8.0",
+    "react-input-mask": "^2.0.4",
     "react-recaptcha": "^2.3.10",
     "react-responsive-carousel": "^3.1.51",
     "react-router-dom": "^5.1.2",
diff --git a/src/Components/ModalConfirmarProfessor.js b/src/Components/ModalConfirmarProfessor.js
new file mode 100644
index 00000000..1a07d031
--- /dev/null
+++ b/src/Components/ModalConfirmarProfessor.js
@@ -0,0 +1,157 @@
+/*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, useState} from 'react';
+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 {Store} from '../Store.js'
+import axios from 'axios'
+import {apiUrl} from '../env';
+import CloseIcon from '@material-ui/icons/Close';
+
+const StyledModal = styled(Modal)`
+    display : flex;
+    align-items: center;
+    justify-content : center;
+    text-align : center;
+    padding : 10px !important;
+`
+
+export default function ModalConfirmarProfessor (props){
+    const {state, dispatch} = useContext(Store)
+    return (
+
+        <StyledModal
+            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} style={{ transitionDelay :"0.4ms"}}>
+                <>
+                    <ConfirmarProfessorComponent>
+                        <HeaderDiv>
+                            <span style={{width:"32px"}}/>
+                            <h2>Confirme os Dados</h2>
+                            <Button style={{marginRight:"-8px", color:"000"}} onClick={props.handleClose}>
+                                <CloseIcon style={{color:"#666", cursor:"pointer", verticalAlign:"middle"}}/>
+                            </Button>
+                        </HeaderDiv>
+
+                        <DialogContentDiv>
+                            <ContainerCentralized>
+                                <p><strong>Município - UF:</strong> {props.info.school_uf.abbreviation} - {props.info.school_City.name} </p>
+                                <p><strong>Escola:</strong> {props.info.school_name}</p>
+                                <p><strong>Telefone da Escola:</strong> {props.info.school_phone}</p>
+                                <p><strong>Seu CPF:</strong> {props.info.teacher_cpf}</p>
+                                <ButtonsDiv>
+                                    <ConfirmButton onClick ={props.confirmar}>CONFIRMAR</ConfirmButton>
+                                    <CancelButton onClick = {props.cancelar}>CANCELAR</CancelButton>
+                                </ButtonsDiv>
+                            </ContainerCentralized>
+                        </DialogContentDiv>
+                    </ConfirmarProfessorComponent>
+                </>
+            </Fade>
+        </StyledModal>
+
+    )
+}
+
+const CancelButton = styled(Button)`
+    width : 140px !important;
+    color :#666 !important;
+    font-family : Roboto,sans-serif !important;
+    font-size : 14px !important;
+    font-weight : 500 !important;
+    height : 36px !important;
+    border-radius : 3px !important;
+    padding-left : 16px !important;
+    padding-right : 16px !important;
+    outline : none !important;
+    margin : 6px 8px !important;
+    display : inline-block !important;
+`
+
+const ConfirmButton = styled(Button)`
+    width : 140px !important;
+    background-color : #00bcd4 !important;
+    color :  #fff !important;
+    font-family : Roboto,sans-serif !important;
+    font-size : 14px !important;
+    font-weight : 500 !important;
+    height : 36px !important;
+    border-radius : 3px !important;
+    padding-left : 32px !important;
+    padding-right : 32px !important;
+    outline : none !important;
+    margin : 6px 8px !important;
+    display : inline-block !important;
+`
+
+const ButtonsDiv = styled.div`
+    margin-top : 10px;
+    display : flex;
+    justify-content : center;
+`
+
+
+const ContainerCentralized = styled.div`
+    margin-top : 0;
+    padding-left : 20px;
+    padding-right : 30px;
+
+    p {
+        font-size : 15px;
+        margin : 0 0 10px;
+    }
+`
+
+const DialogContentDiv = styled.div`
+    padding : 20px 30px;
+    overflow : visible !important;
+`
+
+const HeaderDiv = styled.div`
+    text-align : center;
+    display : flex;
+    justify-content : space-between;
+    padding : 10px 26px 0 26px;
+
+    h2 {
+        font-size : 26px;
+        font-weight : lighter;
+    }
+`
+
+const ConfirmarProfessorComponent = styled.div`
+    min-width : 600px;
+    border-radius : 4px;
+    background-color : #fff;
+    color : #666;
+`
diff --git a/src/Components/PageProfessorComponents/PartOne.js b/src/Components/PageProfessorComponents/PartOne.js
index 2628b227..1602ed72 100644
--- a/src/Components/PageProfessorComponents/PartOne.js
+++ b/src/Components/PageProfessorComponents/PartOne.js
@@ -80,7 +80,7 @@ export default function PartOne (props) {
 
     const handleSubmit = () => {
         //console.log('handle submit : ', uf.abbreviation, uf.selected, municipio.name, municipio.selected, codigoINEP.selected)
-        props.handleBuscar(uf.abbreviation, uf.selected, municipio.name, municipio.selected, codigoINEP.selected)
+        props.handleBuscar(uf.name, uf.selected, municipio.name, municipio.selected, codigoINEP.selected)
     }
 
     //on render component, call simcaq api and update ufList
@@ -88,6 +88,7 @@ export default function PartOne (props) {
         axios.get(('https://simcaq.c3sl.ufpr.br/api/v1/state')
         ).then( (response) => {
             handleSetStates(sortDict(response.data.result))
+            console.log(response.data.result)
         },
         (error) => console.log('erro acessando api do simcaq (estados)'))
     }, [])
diff --git a/src/Components/PageProfessorComponents/PartThree.js b/src/Components/PageProfessorComponents/PartThree.js
index 28a88612..d5dcdbfc 100644
--- a/src/Components/PageProfessorComponents/PartThree.js
+++ b/src/Components/PageProfessorComponents/PartThree.js
@@ -18,7 +18,7 @@ export default function PartThree (props) {
     const handleChangePhoneNumber = (event) => {
         const input = event.target.value.replace(/\D/,'')
         setPhoneNumber({...phoneNumber,
-            flagInvalid : (input.length > 9 ? true : false),
+            flagInvalid : (input.length < 9 ? true : false),
             number : (input.length > 9 ? phoneNumber.number : input),
         })
     }
@@ -30,20 +30,25 @@ export default function PartThree (props) {
     const handleChangeCpf = (event) => {
         const input = event.target.value.replace(/\D/,'')
         setCpf({...cpf,
-            flagInvalid : (input.length > 11 ? true : false),
+            flagInvalid : (input.length < 11 ? true : false),
             number : (input.length > 11 ? cpf.number : input),
         })
     }
 
+    const handleSubmit = () => {
+        const submit_phone = phoneNumber.number
+        const submit_cpf = cpf.number
+
+        props.handleSubmit(submit_phone, submit_cpf)
+    }
 
     return (
         <>
-        {console.log(props)}
         <Content>
             <h4>Vamos localizar o seu cadastro:</h4>
             <Stepper items={props.stepper}/>
             <form style={{textAlign:"start"}}>
-                <span>{props.info.school_name}</span>
+                <span>CENTRO EDUC INF MEU PEDACINHO DE CHAO</span>
                 <FormControl required style={{width:"100%"}}>
                      <p>Inserir o telefone da escola:</p>
                      <FormInput
@@ -66,12 +71,13 @@ export default function PartThree (props) {
                         value={cpf.number}
                         handleChange={handleChangeCpf}
                         mask={'999.999.999-99'}
+                        error={cpf.flagInvalid}
                      >
                      </FormInput>
                 </FormControl>
                 <div style={{display:"flex", justifyContent:"space-evenly",paddingTop:"10px", paddingBottom:"10px"}}>
                     <div style={{display:"flex", justifyContent:"center"}}>
-                        <ButtonConfirmar onClick={props.handleBuscar}>BUSCAR</ButtonConfirmar>
+                        <ButtonConfirmar onClick={( (cpf.flagInvalid || phoneNumber.flagInvalid) ? () => {console.log('cpf.flagInvalid: ', cpf.flagInvalid, 'phoneNumber.flagInvalid: ', phoneNumber.flagInvalid)} : handleSubmit)}>BUSCAR</ButtonConfirmar>
                     </div>
                     <div style={{display:"flex", justifyContent:"center"}}>
                         <ButtonGrey onClick={() => props.goBack(false, true, false)}>VOLTAR</ButtonGrey>
diff --git a/src/Components/PageProfessorComponents/PartTwo.js b/src/Components/PageProfessorComponents/PartTwo.js
index 185341d6..8dd0d5b3 100644
--- a/src/Components/PageProfessorComponents/PartTwo.js
+++ b/src/Components/PageProfessorComponents/PartTwo.js
@@ -10,7 +10,6 @@ import {simcaqAPIurl} from '../../env'
 import {sortDict} from './PartOne.js'
 
 export default function PartTwo (props) {
-    const [htttpRequestDone, setDone] = useState(false)
     const [schoolList, setSchoolList] = useState([])
 
     useEffect ( () => {
@@ -20,22 +19,17 @@ export default function PartTwo (props) {
         //console.log(code, uf, municipio)
 
         //if user searched by inep code
-        if (code != '') {
+        if (code !== '') {
             axios.get((`${simcaqAPIurl}/portal_mec_inep?filter=school_cod:` + code)
         ).then ((response) => {
-            //console.log(response.data.result)
-
             setSchoolList(sortDict(response.data.result))
-            setDone(true)
-
         }, (error) => console.log('erro ao dar get na escola por inep code')
         )}
-        else if (uf != '' && municipio != '') {
+        else if (uf !== '' && municipio !== '') {
             axios.get((`${simcaqAPIurl}/school?filter=state:"` + uf + '",city:"' + municipio + '",year:2017')
-        ). then((response)=> {
+        ).then((response)=> {
             //console.log(response.data.result)
             setSchoolList(sortDict(response.data.result))
-            setDone(true)
         }, (error) => console.log('erro ao dar get na escola por uf e municipio', code, uf, municipio)
         )}
     }, [])
diff --git a/src/Components/Table.js b/src/Components/Table.js
index 1230013c..295b1bb1 100644
--- a/src/Components/Table.js
+++ b/src/Components/Table.js
@@ -62,7 +62,6 @@ export default function CustomizedTables(props) {
         <TableBody>
           {props.rows.map(row => (
               <>
-                  {console.log('console.log(row": ', row)}
             <StyledTableRow onClick={() => onClick(row)} key={row.id}>
               <StyledTableCell component="th" scope="row">
                 {row.id}
diff --git a/src/Pages/PageProfessor.js b/src/Pages/PageProfessor.js
index b8068873..6dc177da 100644
--- a/src/Pages/PageProfessor.js
+++ b/src/Pages/PageProfessor.js
@@ -5,9 +5,17 @@ import Paper from '@material-ui/core/Paper';
 import PartOne from '../Components/PageProfessorComponents/PartOne.js'
 import PartTwo from '../Components/PageProfessorComponents/PartTwo.js'
 import PartThree from '../Components/PageProfessorComponents/PartThree.js'
+import ModalConfirmarProfessor from '../Components/ModalConfirmarProfessor.js'
+import axios from 'axios'
+import {apiUrl} from '../env';
 
 export default function PageProfessor (props) {
     const {state, dispatch} = useContext(Store)
+    const [modalOpen, toggleModal] = useState(false)
+
+    const handleModal = () => {
+        toggleModal(!modalOpen) ;
+    }
 
     const redirect = () => {
         props.history.push('/termos-publicar-recurso')
@@ -60,9 +68,6 @@ export default function PageProfessor (props) {
     }
 
     const handleBuscarParteDois = (city_name, inep, school_name, state_name) => {
-        console.log(city_name, inep, school_name, state_name)
-        console.log((state_name ? state_name : ''))
-
         const uf_id = registerInformation.school_uf.id
         const school_city_id = registerInformation.school_City.id
         const prev_state_name = registerInformation.school_uf.abbreviation
@@ -83,13 +88,32 @@ export default function PageProfessor (props) {
         toggleStepper(false, false, true)
     }
 
+    const handleSubmit = (phone, cpf) => {
+        setRegisterInformation({...registerInformation,
+            teacher_cpf: (phone ? phone : ''),
+            school_phone: (cpf ? cpf : ''),
+        })
+        handleModal();
+    }
+
     const handleCancelar = () => {
         props.history.push('/perfil/atualizacoes')
     }
 
-    const onClickTable = () => {
-        toggleStepper(false, false, true)
-    }
+    const handleFinalSubmit = () => {
+        //adicionar headers de accessToken
+        axios.post( (`${apiUrl}/users/teacher_request`), {
+            'city' : registerInformation.school_City.name,
+            'cpf' : registerInformation.teacher_cpf,
+            'inep_id' : registerInformation.inep_code,
+            'phone' : registerInformation.school_phone,
+            'school' : registerInformation.school_name,
+            'uf' : registerInformation.school_uf.abbreviation
+        })
+        .then( (response) => {
+            console.log(response.data)
+        }, (error) => console.log('deu erro')
+    )}
 
     return (
         <>
@@ -97,30 +121,37 @@ export default function PageProfessor (props) {
             state.userAgreedToPublicationTerms?
             (
                 [
-                    <div style={{backgroundColor:"#f4f4f4", color:"#666"}}>
-                        <div style={{display: "flex", justifyContent:"center", paddingTop:"5vh", paddingBottom:"5vh"}}>
-                            <Paper elevation={3} style= {{width:"max-content"}}>
-                                <div style={{paddingRight:"15px", paddingLeft:"15px"}}>
-                                    {stepper[0].selected &&
-                                        <PartOne stepper={stepper} handleBuscar={handleBuscarParteUM}
-                                            handleCancelar={handleCancelar}
-                                        />
-                                    }
-                                    {stepper[1].selected &&
-                                        <PartTwo stepper={stepper} onClickTable={onClickTable}
-                                        info={registerInformation} goBack={toggleStepper}
-                                        handleCancelar={handleCancelar} handleBuscar={handleBuscarParteDois}
-                                        />
-                                    }
-                                    {stepper[2].selected &&
-                                        <PartThree stepper={stepper} goBack={toggleStepper}
-                                        handleCancelar={handleCancelar} info={registerInformation}
-                                        />
-                                    }
-                                </div>
-                            </Paper>
+                    <>
+                        <ModalConfirmarProfessor open={modalOpen} handleClose={handleModal}
+                         info={registerInformation} confirmar = {() => {handleFinalSubmit()}}
+                         cancelar = {() => {toggleModal()}}
+                         />
+                        <div style={{backgroundColor:"#f4f4f4", color:"#666"}}>
+                            <div style={{display: "flex", justifyContent:"center", paddingTop:"5vh", paddingBottom:"5vh"}}>
+                                <Paper elevation={3} style= {{width:"max-content"}}>
+                                    <div style={{paddingRight:"15px", paddingLeft:"15px"}}>
+                                        {stepper[0].selected &&
+                                            <PartOne stepper={stepper} handleBuscar={handleBuscarParteUM}
+                                                handleCancelar={handleCancelar}
+                                            />
+                                        }
+                                        {stepper[1].selected &&
+                                            <PartTwo stepper={stepper}
+                                            info={registerInformation} goBack={toggleStepper}
+                                            handleCancelar={handleCancelar} handleBuscar={handleBuscarParteDois}
+                                            />
+                                        }
+                                        {stepper[2].selected &&
+                                            <PartThree stepper={stepper} goBack={toggleStepper}
+                                            handleCancelar={handleCancelar} info={registerInformation}
+                                            handleSubmit={handleSubmit}
+                                            />
+                                        }
+                                    </div>
+                                </Paper>
+                            </div>
                         </div>
-                    </div>
+                    </>
                 ]
             )
             :
-- 
GitLab


From 42bbc1732b26d3be8089b46a5c5f95be3a57f171 Mon Sep 17 00:00:00 2001
From: Lucas Schoenfelder <les17@inf.ufpr.br>
Date: Wed, 19 Feb 2020 18:10:43 -0300
Subject: [PATCH 27/29] arrumando erros da pagina de professor, quase acabando

---
 src/Components/ModalConfirmarProfessor.js     |  2 +-
 .../PageProfessorComponents/PartOne.js        | 56 +++++++++++--------
 .../PageProfessorComponents/PartTwo.js        |  1 +
 src/Components/TabPanels/TabPanelRede.js      |  2 +-
 src/Components/Table.js                       |  1 +
 src/Pages/PageProfessor.js                    | 30 ++++------
 src/Pages/UserPage.js                         |  4 +-
 src/Store.js                                  |  2 +-
 8 files changed, 51 insertions(+), 47 deletions(-)

diff --git a/src/Components/ModalConfirmarProfessor.js b/src/Components/ModalConfirmarProfessor.js
index 1a07d031..361a391c 100644
--- a/src/Components/ModalConfirmarProfessor.js
+++ b/src/Components/ModalConfirmarProfessor.js
@@ -65,7 +65,7 @@ export default function ModalConfirmarProfessor (props){
 
                         <DialogContentDiv>
                             <ContainerCentralized>
-                                <p><strong>Município - UF:</strong> {props.info.school_uf.abbreviation} - {props.info.school_City.name} </p>
+                                <p><strong>Município - UF:</strong> {props.info.school_uf.abbreviation} - {props.info.school_city.name} </p>
                                 <p><strong>Escola:</strong> {props.info.school_name}</p>
                                 <p><strong>Telefone da Escola:</strong> {props.info.school_phone}</p>
                                 <p><strong>Seu CPF:</strong> {props.info.teacher_cpf}</p>
diff --git a/src/Components/PageProfessorComponents/PartOne.js b/src/Components/PageProfessorComponents/PartOne.js
index 1602ed72..6fe3e70c 100644
--- a/src/Components/PageProfessorComponents/PartOne.js
+++ b/src/Components/PageProfessorComponents/PartOne.js
@@ -11,7 +11,6 @@ import Divider from '@material-ui/core/Divider';
 import {ButtonCancelar} from './PartTwo.js'
 import axios from 'axios'
 import FormInput from '../FormInput.js'
-import {simcaqAPIurl} from '../../env'
 
 export function sortDict (dict) {
     const newDict = dict.sort((a, b) => (a.name) > (b.name) ? 1 : -1)
@@ -19,6 +18,18 @@ export function sortDict (dict) {
 
 }
 
+const extractUFInfo = (ufs, name) => {
+    var id = ''
+    var abbreviation = ''
+    for (const obj of ufs) {
+        if (obj.name === name) {
+            id = obj.id
+            abbreviation = obj.abbreviation
+        }
+    }
+    return {id : id, abbreviation : abbreviation}
+}
+
 export default function PartOne (props) {
     //stores initial get response (list of states, sorted alphabetically)
     const [ufList, setStates] = useState([])
@@ -32,7 +43,6 @@ export default function PartOne (props) {
     const [uf, setUF] = useState(
         {
             algumFoiEscolhido : false,
-            selected : '', //id
             name : '',
             abbreviation : ''
         }
@@ -42,7 +52,6 @@ export default function PartOne (props) {
     const [municipio, setMunicipio] = useState(
         {
             algumFoiEscolhido : false,
-            selected : '',
             name : ''
         }
     )
@@ -50,62 +59,62 @@ export default function PartOne (props) {
     const [codigoINEP, setCodigoINEP] = useState(
         {
             codigoInvalido : false,
-            selected : ''
+            value : ''
         }
     )
+
     const handleCodigoINEP = (event) => {
         const code = event.target.value
 
         setCodigoINEP({...codigoINEP,
             codigoInvalido : false,
-            selected : code
+            value : code
         })
     }
 
     const validateINEP = () => {
-        const code = codigoINEP.selected
+        const code = codigoINEP.value
 
-        axios.get((`${simcaqAPIurl}/portal_mec_inep?filter=school_cod:` + code)
+        axios.get(('https://www.simcaq.c3sl.ufpr.br/api/v1/portal_mec_inep?filter=school_cod:' + code)
         ).then( (response) => {
-            console.log('code ', code, ' is valid')
             handleSubmit()
         }, (error) => {
             setCodigoINEP({...codigoINEP,
                 codigoInvalido : true,
-                selected : ''
+                value : ''
             })
         }
         )
     }
 
     const handleSubmit = () => {
-        //console.log('handle submit : ', uf.abbreviation, uf.selected, municipio.name, municipio.selected, codigoINEP.selected)
-        props.handleBuscar(uf.name, uf.selected, municipio.name, municipio.selected, codigoINEP.selected)
+        console.log('handle submit : ', uf.abbreviation, uf.name, municipio.name, codigoINEP.value)
+        props.handleBuscar(uf.abbreviation, uf.name, municipio.name, codigoINEP.value)
     }
 
     //on render component, call simcaq api and update ufList
     useEffect ( () => {
         axios.get(('https://simcaq.c3sl.ufpr.br/api/v1/state')
         ).then( (response) => {
+            console.log(sortDict(response.data.result))
             handleSetStates(sortDict(response.data.result))
-            console.log(response.data.result)
         },
         (error) => console.log('erro acessando api do simcaq (estados)'))
     }, [])
 
     const handleChooseUF = (event) => {
-        const ufID = event.target.value.ufID
-        const ufAbbreviation = event.target.value.abbreviation
-        const ufName = event.target.value.name
+        const ufName = event.target.value
+        const {id, abbreviation} = extractUFInfo(ufList, ufName)
+        console.log(id, abbreviation)
+
         setUF({...uf,
                 algumFoiEscolhido : true,
-                selected : ufID,
                 name : ufName,
-                abbreviation : ufAbbreviation
+                abbreviation : abbreviation
             }
         )
 
-        axios.get(('https://simcaq.c3sl.ufpr.br/api/v1/city?filter=state:' + ufID)
+        axios.get(('https://simcaq.c3sl.ufpr.br/api/v1/city?filter=state:' + id)
         ).then( (response) => {
             handleSetMunicipioList(sortDict(response.data.result))
             }, (error) => console.log('erro acessando api do simcaq (cidades)')
@@ -113,11 +122,10 @@ export default function PartOne (props) {
     }
 
     const handleChooseCity = (event) => {
-        const cityID = event.target.value.id
-        const cityName = event.target.value.name
+        const cityName = event.target.value
+        console.log(cityName)
         setMunicipio({...municipio,
                  algumFoiEscolhido : true,
-                 selected : cityID,
                  name : cityName
              }
         )
@@ -141,7 +149,7 @@ export default function PartOne (props) {
                      >
                      {
                         ufList.map( (ufs)=>
-                            <MenuItem key={ufs.id} value={{abbreviation : ufs.abbreviation, ufID : ufs.id, name : ufs.name}}>{ufs.name}</MenuItem>
+                            <MenuItem key={ufs.name} value={ufs.name}>{ufs.name}</MenuItem>
                         )
                      }
                      </Select>
@@ -156,7 +164,7 @@ export default function PartOne (props) {
                      >
                      {
                         municipioList.map( (cidades)=>
-                            <MenuItem value={{id : cidades.id, name : cidades.name}}>{cidades.name}</MenuItem>
+                            <MenuItem key={cidades.name} value={cidades.name}>{cidades.name}</MenuItem>
                         )
                      }
                      </Select>
@@ -182,7 +190,7 @@ export default function PartOne (props) {
                          <FormInput
                            inputType={'text'}
                            name={'Código INEP'}
-                           value={codigoINEP.selected}
+                           value={codigoINEP.value}
                            handleChange = {handleCodigoINEP}
                            placeholder={'Código INEP'}
                            required={true}
diff --git a/src/Components/PageProfessorComponents/PartTwo.js b/src/Components/PageProfessorComponents/PartTwo.js
index 8dd0d5b3..64113b9d 100644
--- a/src/Components/PageProfessorComponents/PartTwo.js
+++ b/src/Components/PageProfessorComponents/PartTwo.js
@@ -40,6 +40,7 @@ export default function PartTwo (props) {
 
     return (
         <>
+        {console.log(props)}
             <Content>
                 <h4>Vamos localizar o seu cadastro:</h4>
                 <Stepper items={props.stepper}/>
diff --git a/src/Components/TabPanels/TabPanelRede.js b/src/Components/TabPanels/TabPanelRede.js
index 2eb21b00..d31f2bcf 100644
--- a/src/Components/TabPanels/TabPanelRede.js
+++ b/src/Components/TabPanels/TabPanelRede.js
@@ -17,7 +17,7 @@ export default function TabPanelRede (props) {
     const [followingListLength, setFollowingLength] = useState(0)
 
     const [followersList, setFollowers] = useState([])
-    const [followersListLength, setFollowersLength] = useState(1)
+    const [followersListLength, setFollowersLength] = useState(0)
 
     useEffect( () => {
         axios.all([
diff --git a/src/Components/Table.js b/src/Components/Table.js
index 295b1bb1..773a5fff 100644
--- a/src/Components/Table.js
+++ b/src/Components/Table.js
@@ -62,6 +62,7 @@ export default function CustomizedTables(props) {
         <TableBody>
           {props.rows.map(row => (
               <>
+              {console.log(row)}
             <StyledTableRow onClick={() => onClick(row)} key={row.id}>
               <StyledTableCell component="th" scope="row">
                 {row.id}
diff --git a/src/Pages/PageProfessor.js b/src/Pages/PageProfessor.js
index 6dc177da..6660e976 100644
--- a/src/Pages/PageProfessor.js
+++ b/src/Pages/PageProfessor.js
@@ -26,13 +26,10 @@ export default function PageProfessor (props) {
             teacher_cpf: '',
             school_phone: '',
             school_name: '',
-            school_City : {
-                id : '',
-                name : ''
-            },
+            school_city : '',
             school_uf : {
-                id : '',
-                abbreviation : ''
+                abbreviation : '',
+                name : ''
             },
             inep_code: ''
         }
@@ -51,17 +48,14 @@ export default function PageProfessor (props) {
         )
     }
 
-    const handleBuscarParteUM = (ufAbbreviation, ufID, nomeMunicipio, idMunicipio, inep) => {
-        //console.log('handleBuscarParteUM: ', ufAbbreviation, ufID, nomeMunicipio, idMunicipio, inep)
+    const handleBuscarParteUM = (ufAbbreviation, ufName, nomeMunicipio, inep) => {
+        console.log('handleBuscarParteUM: ', ufAbbreviation, ufName, nomeMunicipio, inep)
         setRegisterInformation({...registerInformation,
             school_uf : {
-                id : (ufID ? ufID : ''),
-                abbreviation: (ufAbbreviation ? ufAbbreviation : '')
-            },
-            school_City : {
-                id : (idMunicipio ? idMunicipio : ''),
-                name : (nomeMunicipio ? nomeMunicipio : '')
+                abbreviation: (ufAbbreviation ? ufAbbreviation : ''),
+                name : (ufName ? ufName : '')
             },
+            school_city : (nomeMunicipio ? nomeMunicipio : ''),
             inep_code : (inep ? inep : '')
         })
         toggleStepper(false, true, false)
@@ -69,16 +63,16 @@ export default function PageProfessor (props) {
 
     const handleBuscarParteDois = (city_name, inep, school_name, state_name) => {
         const uf_id = registerInformation.school_uf.id
-        const school_city_id = registerInformation.school_City.id
+        const school_city_id = registerInformation.school_city.id
         const prev_state_name = registerInformation.school_uf.abbreviation
-        const prev_city_name = registerInformation.school_City.name
+        const prev_city_name = registerInformation.school_city.name
 
         setRegisterInformation({...registerInformation,
             school_uf : {
                 id : uf_id,
                 abbreviation: (state_name ? state_name : prev_state_name)
             },
-            school_City : {
+            school_city : {
                 id : school_city_id,
                 name : (city_name ? city_name : prev_city_name)
             },
@@ -103,7 +97,7 @@ export default function PageProfessor (props) {
     const handleFinalSubmit = () => {
         //adicionar headers de accessToken
         axios.post( (`${apiUrl}/users/teacher_request`), {
-            'city' : registerInformation.school_City.name,
+            'city' : registerInformation.school_city.name,
             'cpf' : registerInformation.teacher_cpf,
             'inep_id' : registerInformation.inep_code,
             'phone' : registerInformation.school_phone,
diff --git a/src/Pages/UserPage.js b/src/Pages/UserPage.js
index f4457ff8..420912ac 100644
--- a/src/Pages/UserPage.js
+++ b/src/Pages/UserPage.js
@@ -50,8 +50,8 @@ export default function UserPage (props){
     const [tabs, setTabs] = useState([
         'Atividades', 'Meus Recursos', 'Favoritos', 'Coleções', 'Rede'
     ])
-    const user = localStorage.getItem('@portalmec/username')
-    const id = localStorage.getItem('@portalmec/id')
+    const user = sessionStorage.getItem('@portalmec/username')
+    const id = sessionStorage.getItem('@portalmec/id')
     const [modalOpen, handleModal] = useState(false)
 
     const config = {
diff --git a/src/Store.js b/src/Store.js
index 539aecb6..d57a0cde 100644
--- a/src/Store.js
+++ b/src/Store.js
@@ -22,7 +22,7 @@ export const Store = React.createContext()
 
 const initialState = {
   searchOpen: false,
-  userIsLoggedIn : true,
+  userIsLoggedIn : false,
   userAgreedToPublicationTerms: true,
   userAgreedToPublicationPermissions: false,
   modalColaborarPlataformaOpen : false,
-- 
GitLab


From abb0fbbb80e9b4682779ac0caf5e00f37be5a505 Mon Sep 17 00:00:00 2001
From: Lucas Schoenfelder <les17@inf.ufpr.br>
Date: Thu, 20 Feb 2020 11:59:57 -0300
Subject: [PATCH 28/29] pagina de requisicao professor quase pronta

---
 src/Components/ModalConfirmarProfessor.js     |  2 +-
 .../PageProfessorComponents/PartThree.js      |  1 +
 .../PageProfessorComponents/PartTwo.js        |  6 +--
 src/Pages/PageProfessor.js                    | 46 ++++++++++---------
 src/env.js                                    |  2 +-
 5 files changed, 30 insertions(+), 27 deletions(-)

diff --git a/src/Components/ModalConfirmarProfessor.js b/src/Components/ModalConfirmarProfessor.js
index 361a391c..3cbb4e79 100644
--- a/src/Components/ModalConfirmarProfessor.js
+++ b/src/Components/ModalConfirmarProfessor.js
@@ -65,7 +65,7 @@ export default function ModalConfirmarProfessor (props){
 
                         <DialogContentDiv>
                             <ContainerCentralized>
-                                <p><strong>Município - UF:</strong> {props.info.school_uf.abbreviation} - {props.info.school_city.name} </p>
+                                <p><strong>Município - UF:</strong> {props.info.school_uf.name} - {props.info.school_city} </p>
                                 <p><strong>Escola:</strong> {props.info.school_name}</p>
                                 <p><strong>Telefone da Escola:</strong> {props.info.school_phone}</p>
                                 <p><strong>Seu CPF:</strong> {props.info.teacher_cpf}</p>
diff --git a/src/Components/PageProfessorComponents/PartThree.js b/src/Components/PageProfessorComponents/PartThree.js
index d5dcdbfc..2ee7c262 100644
--- a/src/Components/PageProfessorComponents/PartThree.js
+++ b/src/Components/PageProfessorComponents/PartThree.js
@@ -44,6 +44,7 @@ export default function PartThree (props) {
 
     return (
         <>
+        {console.log(props)}
         <Content>
             <h4>Vamos localizar o seu cadastro:</h4>
             <Stepper items={props.stepper}/>
diff --git a/src/Components/PageProfessorComponents/PartTwo.js b/src/Components/PageProfessorComponents/PartTwo.js
index 64113b9d..a4e68d4a 100644
--- a/src/Components/PageProfessorComponents/PartTwo.js
+++ b/src/Components/PageProfessorComponents/PartTwo.js
@@ -14,8 +14,8 @@ export default function PartTwo (props) {
 
     useEffect ( () => {
         const code = (props.info.inep_code || '')
-        const uf = (props.info.school_uf.id || '')
-        const municipio = (props.info.school_City.id || '')
+        const uf = (props.info.school_uf.abbreviation || '')
+        const municipio = (props.info.school_city || '')
         //console.log(code, uf, municipio)
 
         //if user searched by inep code
@@ -26,7 +26,7 @@ export default function PartTwo (props) {
         }, (error) => console.log('erro ao dar get na escola por inep code')
         )}
         else if (uf !== '' && municipio !== '') {
-            axios.get((`${simcaqAPIurl}/school?filter=state:"` + uf + '",city:"' + municipio + '",year:2017')
+            axios.get((`${simcaqAPIurl}/school?search=state_name:"` + uf + '",city_name:"' + municipio + '"&filter=year:2017')
         ).then((response)=> {
             //console.log(response.data.result)
             setSchoolList(sortDict(response.data.result))
diff --git a/src/Pages/PageProfessor.js b/src/Pages/PageProfessor.js
index 6660e976..e729721e 100644
--- a/src/Pages/PageProfessor.js
+++ b/src/Pages/PageProfessor.js
@@ -48,8 +48,8 @@ export default function PageProfessor (props) {
         )
     }
 
-    const handleBuscarParteUM = (ufAbbreviation, ufName, nomeMunicipio, inep) => {
-        console.log('handleBuscarParteUM: ', ufAbbreviation, ufName, nomeMunicipio, inep)
+    const handleBuscarParteUm = (ufAbbreviation, ufName, nomeMunicipio, inep) => {
+        console.log('handleBuscarParteUm: ', ufAbbreviation, ufName, nomeMunicipio, inep)
         setRegisterInformation({...registerInformation,
             school_uf : {
                 abbreviation: (ufAbbreviation ? ufAbbreviation : ''),
@@ -62,27 +62,23 @@ export default function PageProfessor (props) {
     }
 
     const handleBuscarParteDois = (city_name, inep, school_name, state_name) => {
-        const uf_id = registerInformation.school_uf.id
-        const school_city_id = registerInformation.school_city.id
-        const prev_state_name = registerInformation.school_uf.abbreviation
+        const uf_abbreviation = registerInformation.school_uf.abbreviation
+        const prev_state_name = registerInformation.school_uf.name
         const prev_city_name = registerInformation.school_city.name
 
         setRegisterInformation({...registerInformation,
             school_uf : {
-                id : uf_id,
-                abbreviation: (state_name ? state_name : prev_state_name)
-            },
-            school_city : {
-                id : school_city_id,
-                name : (city_name ? city_name : prev_city_name)
+                abbreviation : uf_abbreviation,
+                name: (state_name ? state_name : prev_state_name)
             },
+            school_city :(city_name ? city_name : prev_city_name),
             school_name: (school_name ? school_name : ''),
             inep_code : (inep ? inep : '')
         })
         toggleStepper(false, false, true)
     }
 
-    const handleSubmit = (phone, cpf) => {
+    const handleParteTres = (phone, cpf) => {
         setRegisterInformation({...registerInformation,
             teacher_cpf: (phone ? phone : ''),
             school_phone: (cpf ? cpf : ''),
@@ -96,14 +92,20 @@ export default function PageProfessor (props) {
 
     const handleFinalSubmit = () => {
         //adicionar headers de accessToken
-        axios.post( (`${apiUrl}/users/teacher_request`), {
-            'city' : registerInformation.school_city.name,
-            'cpf' : registerInformation.teacher_cpf,
-            'inep_id' : registerInformation.inep_code,
-            'phone' : registerInformation.school_phone,
-            'school' : registerInformation.school_name,
-            'uf' : registerInformation.school_uf.abbreviation
-        })
+        axios.post( `${apiUrl}/users/teacher_request`, {
+            city : registerInformation.school_city.name,
+            cpf : registerInformation.teacher_cpf,
+            inep_id : registerInformation.inep_code,
+            phone : registerInformation.school_phone,
+            school : registerInformation.school_name,
+            uf : registerInformation.school_uf.name
+        },
+        { headers : {
+            'Access-Token': sessionStorage.getItem('@portalmec/accessToken'),
+            'Client': sessionStorage.getItem('@portalmec/clientToken'),
+            'Uid': sessionStorage.getItem('@portalmec/uid')
+        }}
+        )
         .then( (response) => {
             console.log(response.data)
         }, (error) => console.log('deu erro')
@@ -125,7 +127,7 @@ export default function PageProfessor (props) {
                                 <Paper elevation={3} style= {{width:"max-content"}}>
                                     <div style={{paddingRight:"15px", paddingLeft:"15px"}}>
                                         {stepper[0].selected &&
-                                            <PartOne stepper={stepper} handleBuscar={handleBuscarParteUM}
+                                            <PartOne stepper={stepper} handleBuscar={handleBuscarParteUm}
                                                 handleCancelar={handleCancelar}
                                             />
                                         }
@@ -138,7 +140,7 @@ export default function PageProfessor (props) {
                                         {stepper[2].selected &&
                                             <PartThree stepper={stepper} goBack={toggleStepper}
                                             handleCancelar={handleCancelar} info={registerInformation}
-                                            handleSubmit={handleSubmit}
+                                            handleSubmit={handleParteTres}
                                             />
                                         }
                                     </div>
diff --git a/src/env.js b/src/env.js
index 1f221ee7..2450da0f 100644
--- a/src/env.js
+++ b/src/env.js
@@ -17,7 +17,7 @@ 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/>.*/
 
 
-var apiDomain = 'https://api.portalmec.c3sl.ufpr.br',
+var apiDomain = 'https://api.portalmectest.c3sl.ufpr.br',
     apiVersion = 'v1',
     apiUrl = apiDomain + '/' + apiVersion;
 
-- 
GitLab


From 5096a364dc53c0be3086afedc63a2ea2aa63029d Mon Sep 17 00:00:00 2001
From: Lucas Schoenfelder <les17@inf.ufpr.br>
Date: Fri, 21 Feb 2020 09:56:01 -0300
Subject: [PATCH 29/29] pagina do professor pronta

---
 .../ModalConfirmarProfessor.js                |   4 +-
 .../SuccessfulRequest.js                      |  56 ++++++++++++++++++
 src/Pages/PageProfessor.js                    |  23 ++++---
 src/img/comentarios.png                       | Bin 0 -> 73553 bytes
 4 files changed, 72 insertions(+), 11 deletions(-)
 rename src/Components/{ => PageProfessorComponents}/ModalConfirmarProfessor.js (97%)
 create mode 100644 src/Components/PageProfessorComponents/SuccessfulRequest.js
 create mode 100644 src/img/comentarios.png

diff --git a/src/Components/ModalConfirmarProfessor.js b/src/Components/PageProfessorComponents/ModalConfirmarProfessor.js
similarity index 97%
rename from src/Components/ModalConfirmarProfessor.js
rename to src/Components/PageProfessorComponents/ModalConfirmarProfessor.js
index 3cbb4e79..05d49f3b 100644
--- a/src/Components/ModalConfirmarProfessor.js
+++ b/src/Components/PageProfessorComponents/ModalConfirmarProfessor.js
@@ -22,9 +22,8 @@ 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 {Store} from '../Store.js'
 import axios from 'axios'
-import {apiUrl} from '../env';
+import {apiUrl} from '../../env';
 import CloseIcon from '@material-ui/icons/Close';
 
 const StyledModal = styled(Modal)`
@@ -36,7 +35,6 @@ const StyledModal = styled(Modal)`
 `
 
 export default function ModalConfirmarProfessor (props){
-    const {state, dispatch} = useContext(Store)
     return (
 
         <StyledModal
diff --git a/src/Components/PageProfessorComponents/SuccessfulRequest.js b/src/Components/PageProfessorComponents/SuccessfulRequest.js
new file mode 100644
index 00000000..0e478b74
--- /dev/null
+++ b/src/Components/PageProfessorComponents/SuccessfulRequest.js
@@ -0,0 +1,56 @@
+import React from 'react'
+import styled from 'styled-components'
+import {ButtonConfirmar} from './PartOne.js'
+import Comentarios from '../../img/comentarios.png'
+
+export default function SuccessfulRequest (props) {
+    const h4Text = 'Obrigado por fazer parte dessa rede!'
+    const pText = 'Em breve você poderá publicar os seus próprios reursos educacionais digitais. O MEC analisará as suas informações junto a escola e você será avisada(o) aqui na plataforma e em seu email: '
+
+    return (
+        <div style={{maxWidth:"575px", padding : "0 36px"}}>
+            <div style={{display : "flex", flexDirection : "column"}}>
+                <StyledH4>{h4Text}</StyledH4>
+                <TextDiv>
+                    <p>{pText} <b>{props.email}</b>.</p>
+                </TextDiv>
+                <div style={{display : 'flex', flexDirection : 'row', justifyContent : "center"}}>
+                    <ButtonConfirmar>VOLTAR À PAGINA INICIAL</ButtonConfirmar>
+                </div>
+                <ImageDiv/>
+            </div>
+        </div>
+    )
+}
+
+const ImageDiv = styled.div`
+    height : 500px;
+    background-image : url(${Comentarios});
+    background-repeat : no-repeat;
+    background-position : center center;
+`
+
+const TextDiv = styled.div`
+    display : flex;
+    flex-direction : row;
+
+    p {
+        text-align : justify;
+        font-family: Roboto;
+        font-style : normal;
+        font-weight : 400;
+        line-height : 21px;
+        font-size : 15px;
+        margin : 0 0 10px;
+    }
+`
+
+const StyledH4 = styled.h4`
+    font-family : Roboto;
+    font-style : normal;
+    font-weight : 300;
+    line-height : 36px;
+    font-size : 26px;
+    margin-top : 20px;
+    margin-bottom : 20px;
+`
diff --git a/src/Pages/PageProfessor.js b/src/Pages/PageProfessor.js
index e729721e..e177ade2 100644
--- a/src/Pages/PageProfessor.js
+++ b/src/Pages/PageProfessor.js
@@ -5,14 +5,14 @@ import Paper from '@material-ui/core/Paper';
 import PartOne from '../Components/PageProfessorComponents/PartOne.js'
 import PartTwo from '../Components/PageProfessorComponents/PartTwo.js'
 import PartThree from '../Components/PageProfessorComponents/PartThree.js'
-import ModalConfirmarProfessor from '../Components/ModalConfirmarProfessor.js'
+import SuccessfulRequest from '../Components/PageProfessorComponents/SuccessfulRequest.js'
+import ModalConfirmarProfessor from '../Components/PageProfessorComponents/ModalConfirmarProfessor.js'
 import axios from 'axios'
 import {apiUrl} from '../env';
 
 export default function PageProfessor (props) {
     const {state, dispatch} = useContext(Store)
     const [modalOpen, toggleModal] = useState(false)
-
     const handleModal = () => {
         toggleModal(!modalOpen) ;
     }
@@ -36,14 +36,15 @@ export default function PageProfessor (props) {
     )
 
     const [stepper, handleStepper] = useState(
-        [ {value : '1', selected : true}, {value : '2', selected : false}, {value : '3', selected : false} ]
+        [ {value : '1', selected : false}, {value : '2', selected : false}, {value : '3', selected : false}, {value : '4', selected : true}]
     )
-    const toggleStepper = (selected1, selected2, selected3) => {
+    const toggleStepper = (selected1, selected2, selected3, selected4) => {
         handleStepper(
             [
                 {value : '1', selected : selected1},
                 {value : '2', selected : selected2},
-                {value : '3', selected : selected3}
+                {value : '3', selected : selected3},
+                {value : '4', selected : selected4}
             ]
         )
     }
@@ -58,7 +59,7 @@ export default function PageProfessor (props) {
             school_city : (nomeMunicipio ? nomeMunicipio : ''),
             inep_code : (inep ? inep : '')
         })
-        toggleStepper(false, true, false)
+        toggleStepper(false, true, false, false)
     }
 
     const handleBuscarParteDois = (city_name, inep, school_name, state_name) => {
@@ -75,7 +76,7 @@ export default function PageProfessor (props) {
             school_name: (school_name ? school_name : ''),
             inep_code : (inep ? inep : '')
         })
-        toggleStepper(false, false, true)
+        toggleStepper(false, false, true, false)
     }
 
     const handleParteTres = (phone, cpf) => {
@@ -109,7 +110,9 @@ export default function PageProfessor (props) {
         .then( (response) => {
             console.log(response.data)
         }, (error) => console.log('deu erro')
-    )}
+    )
+    toggleStepper(false, false, false, true)
+    }
 
     return (
         <>
@@ -143,6 +146,10 @@ export default function PageProfessor (props) {
                                             handleSubmit={handleParteTres}
                                             />
                                         }
+                                        {
+                                            stepper[3].selected &&
+                                            <SuccessfulRequest email={state.currentUser.email}/>
+                                        }
                                     </div>
                                 </Paper>
                             </div>
diff --git a/src/img/comentarios.png b/src/img/comentarios.png
new file mode 100644
index 0000000000000000000000000000000000000000..8427d16029a99af4896d1d1ea0b16c7a76f88450
GIT binary patch
literal 73553
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

literal 0
HcmV?d00001

-- 
GitLab