diff --git a/src/Components/HelperFunctions/getAxiosConfig.js b/src/Components/HelperFunctions/getAxiosConfig.js index aa645cc9c86714f5cbbdf3439cbad7ab6f190db6..6d1608bc91648d8b83374f9c4949a9ada3401cdd 100644 --- a/src/Components/HelperFunctions/getAxiosConfig.js +++ b/src/Components/HelperFunctions/getAxiosConfig.js @@ -100,17 +100,9 @@ export async function getRequest (url, onSuccess, onError) { headers : fetchHeaders() }) if (response.ok) { - /*if (response.headers.has('access-token')) { - updateHeaders(response.headers) - }*/ if (response.headers.has('access-token')) { updateAccessToken(response.headers.get('access-token')) } - /*if (response.headers.has('client')) { - let auth_headers = JSON.parse(sessionStorage.getItem('@portalmec/auth_headers')) - auth_headers['client'] = response.headers.get('client') - sessionStorage.setItem('@portalmec/auth_headers', JSON.stringify(auth_headers)) - }*/ let json = await response.json() onSuccess(json, response.headers) } @@ -224,17 +216,9 @@ export async function fetchAllRequest (urls, onSuccess, onError) { var headers = [] for (let res of responses) { - /*if (checkPreviousTokens(res.headers.get('access-token'))) { - updateHeaders(res.headers) - }*/ if (res.headers.has('access-token') && res.status !== 304) { updateAccessToken(res.headers.get('access-token')) } - /*if (res.headers.has('client')) { - let auth_headers = JSON.parse(sessionStorage.getItem('@portalmec/auth_headers')) - auth_headers['client'] = res.headers.get('client') - sessionStorage.setItem('@portalmec/auth_headers', JSON.stringify(auth_headers)) - }*/ let json = await res.json().catch(err => { return {}; }) diff --git a/src/Components/MenuList.js b/src/Components/MenuList.js index 65ab3c6b76925816bb26b17ce48e8793192667a2..bed81e11e8f916614d7a8779fa0db6a2c70ab9ab 100644 --- a/src/Components/MenuList.js +++ b/src/Components/MenuList.js @@ -28,6 +28,7 @@ import Profile from '../img/default_profile0.png' import styled from 'styled-components' import {apiDomain} from '../env.js' import {deleteRequest} from './HelperFunctions/getAxiosConfig' +import { useHistory } from 'react-router-dom' const OverrideButton = styled(Button)` @@ -52,9 +53,11 @@ export default function MenuList(props) { userLoggedOut: !state.userIsLoggedIn, }) } + let history = useHistory() const handleLogout = () => { const url = `/auth/sign_out` deleteRequest(url, handleSuccessSignOut, (error) => {console.log(error)}) + history.push("/") } return ( diff --git a/src/Components/MobileDrawerMenu.js b/src/Components/MobileDrawerMenu.js index 469fa378e9dd7787829eee223147c59710c96b30..12fec2ade622a8b59d072eae7052909ee6c5f38b 100644 --- a/src/Components/MobileDrawerMenu.js +++ b/src/Components/MobileDrawerMenu.js @@ -20,7 +20,7 @@ import React, { useContext } from 'react' import { Store } from '../Store'; import Drawer from '@material-ui/core/Drawer'; import styled from 'styled-components' -import { Link } from 'react-router-dom' +import { Link, useHistory } from 'react-router-dom' import HomeIcon from '@material-ui/icons/Home'; import InfoIcon from '@material-ui/icons/Info'; import MailOutlineIcon from '@material-ui/icons/MailOutline'; @@ -102,9 +102,11 @@ export default function MobileDrawerMenu(props) { userLoggedOut: !state.userIsLoggedIn, }) } + let history = useHistory() const handleLogout = () => { const url = `/auth/sign_out` deleteRequest(url, handleSuccessSignOut, (error) => { console.log(error) }) + history.push("/") } return ( diff --git a/src/Components/TabPanels/PublicUserPageTabs/TabRede.js b/src/Components/TabPanels/PublicUserPageTabs/TabRede.js index c173dc195d4000acbeda628ffbbef127d1934339..a9350fd39b2524192edcce8d781f72e3d94c0bf5 100644 --- a/src/Components/TabPanels/PublicUserPageTabs/TabRede.js +++ b/src/Components/TabPanels/PublicUserPageTabs/TabRede.js @@ -24,6 +24,9 @@ export default function TabRede (props) { const [followers, setFollowers] = useState([]) const [followersSlice, setFollowersSlice] = useState([]) + const [endOfFollowing, setEndOfFollowing] = useState(false) + const [endOfFollowers, setEndOfFollowers] = useState(false) + const showMoreFollowers = () => { let varSlice = followersSlice.length setFollowersSlice(followers.slice(0, varSlice + 4)) @@ -32,18 +35,25 @@ export default function TabRede (props) { const [following, setFollowing] = useState([]) const [followingSlice, setFollowingSlice] = useState([]) - const showMoreFollowing = () => { + const showMoreFollowing = (num) => { let varSlice = followingSlice.length - setFollowingSlice(following.slice(0, varSlice + 4)) + setFollowingSlice(following.slice(0, varSlice + num)) } const showAllFollowing = () => {setFollowingSlice(following)} - function handleSuccess (responseArr) { + function handleSuccess (responseArr, headersArr) { setFollowers(responseArr[0]) setFollowersSlice(responseArr[0].slice(0,4)) setFollowing(responseArr[1]) setFollowingSlice(responseArr[1].slice(0,4)) + + if (headersArr[1].has('X-Total-Count')) { + setEndOfFollowing(headersArr[1].get('X-Total-Count')); + } + if (headersArr[0].has('X-Total-Count')) { + setEndOfFollowers(headersArr[0].get('X-Total-Count')); + } } useEffect( () => { @@ -62,6 +72,7 @@ export default function TabRede (props) { showMore={showMoreFollowers} showAll={showAllFollowers} follower={true} + end={endOfFollowers} noContentText={props.username + ' não possui nenhum seguidor'} /> @@ -72,6 +83,7 @@ export default function TabRede (props) { showMore={showMoreFollowing} showAll={showAllFollowing} follower={false} + end={endOfFollowing} noContentText={props.username + ' não segue nenhum usuário'} /> </React.Fragment> diff --git a/src/Components/TabPanels/StyledComponents.js b/src/Components/TabPanels/StyledComponents.js index c8e75d5d2774b63cbb3140a3f40d7d45abb97f84..182fd013462a57191b7482f708e4379537c4255c 100644 --- a/src/Components/TabPanels/StyledComponents.js +++ b/src/Components/TabPanels/StyledComponents.js @@ -173,7 +173,7 @@ export const UserProfileContainer = styled.div` export const CoverContainer = styled.div` height : 230px; position : relative; - @media screen and (max-width: 501px) { + @media screen and (max-width: 600px) { height : 128px } ` diff --git a/src/Components/TabPanels/UserPageTabs/PanelEditarPerfil.js b/src/Components/TabPanels/UserPageTabs/PanelEditarPerfil.js index e8d253324b68c006cc892d5084ab8d0f15e3f977..ce5a319efaacbf631c7a3871c0ee8672a8f68db1 100644 --- a/src/Components/TabPanels/UserPageTabs/PanelEditarPerfil.js +++ b/src/Components/TabPanels/UserPageTabs/PanelEditarPerfil.js @@ -37,13 +37,13 @@ export default function TabPanelEditarPerfil(props) { const [hoverAlterarFoto, handleAlterarFoto] = React.useState(false) const [formNome, setNome] = useState({ - key: false, - value: "" + key: state.currentUser.name ? false : true, + value: state.currentUser.name ? state.currentUser.name : "" }) const [formAboutMe, setAboutMe] = useState({ - key: false, - value: "", + key: state.currentUser.description ? false : true, + value: state.currentUser.description ? state.currentUser.description : "" }) const handleHoverAlterarFoto = () => { @@ -86,14 +86,14 @@ export default function TabPanelEditarPerfil(props) { const limpaCamposForm = () => { setNome({ ...formNome, - key: false, - value: '' + key: state.currentUser.name ? false : true, + value: state.currentUser.name ? state.currentUser.name : "" }) setAboutMe({ ...formAboutMe, - key: false, - value: '' + key: state.currentUser.description ? false : true, + value: state.currentUser.description ? state.currentUser.description : "" }) } @@ -102,7 +102,7 @@ export default function TabPanelEditarPerfil(props) { const handleSubmit = (e) => { e.preventDefault() - const info = { user: { name: formNome.value, description: formAboutMe.value, email: sessionStorage.getItem('@portalmec/uid') } } + const info = { user: { name: formNome.value, description: formAboutMe.value, email: state.currentUser.email } } const flagNome = formNome.key const flagAboutMe = formAboutMe.key @@ -172,7 +172,7 @@ export default function TabPanelEditarPerfil(props) { rows="3" rowsMax="3" error={formAboutMe.key} - placeholder={"Sobre Mim"} + placeholder={"Sobre mim (visível no seu perfil público)"} handleChange={e => handleChange(e, 'aboutMe')} required={false} help={formAboutMe.value.length + '/160'} diff --git a/src/Components/UserPageComponents/Avatar.js b/src/Components/UserPageComponents/Avatar.js index 368b54b6fdbb513f7c397ebf755da60f4d300a7f..8c381f197741f833d9171c58b780ffb37bb8ad1b 100644 --- a/src/Components/UserPageComponents/Avatar.js +++ b/src/Components/UserPageComponents/Avatar.js @@ -68,7 +68,7 @@ const ProfileAvatarDiv = styled.div` outline : 0; cursor : pointer; background-color : #a5a5a5; - @media screen and (max-width: 501px) { + @media screen and (max-width: 600px) { height : 73px; width : 73px; position:absolute; diff --git a/src/Pages/PublicUserPage.js b/src/Pages/PublicUserPage.js index 0f2a14d5930535cd1309fa7f10fcb591c45f8af6..2571305e25d7bd36fdbe233bc1dccb8132599b5b 100644 --- a/src/Pages/PublicUserPage.js +++ b/src/Pages/PublicUserPage.js @@ -226,7 +226,7 @@ export default function PublicUserPage(props) { { tabs.map((tab) => <Tab label={tab} key={tab} - disabled={(tab === "Recursos" && learningObjArr.length === 0) || (tab === "Coleções" && collectionsArr.length === 0)} + disabled={(tab === "Recursos" && learningObjArr.length === 0) || (tab === "Coleções" && collectionsArr.length === 0) || (tab === "Rede" && state.currentUser.id === '')} /> ) } diff --git a/src/Pages/UserPage.js b/src/Pages/UserPage.js index 259522a052527be06359a1f29e9e98b5faa31b9c..2688500eeb48d71df1f3fc1469d744a41d4b71e6 100644 --- a/src/Pages/UserPage.js +++ b/src/Pages/UserPage.js @@ -144,10 +144,10 @@ export default function UserPage(props) { <HeaderContainer> <Cover id={id} /> <ProfileAvatar id={id} /> - {WIDTH <= 501 ? null : <UserInfo />} + {WIDTH <= 600 ? null : <UserInfo />} <EditProfileButton /> </HeaderContainer> - {WIDTH <= 501 ? ( + {WIDTH <= 600 ? ( <Grid style={{ marginTop: "4em" }} container @@ -210,7 +210,7 @@ export default function UserPage(props) { indicatorColor="primary" textColor="primary" variant="scrollable" - scrollButtons="auto" + scrollButtons="on" TabIndicatorProps={{ style: { background: "#00bcd4" }, }}