diff --git a/src/Components/HelperFunctions/getAxiosConfig.js b/src/Components/HelperFunctions/getAxiosConfig.js index 7937cc9def34be42137c4c8f30ec52956f4e76b8..15a461129312976a379c9c5e81a16da611b611b1 100644 --- a/src/Components/HelperFunctions/getAxiosConfig.js +++ b/src/Components/HelperFunctions/getAxiosConfig.js @@ -197,17 +197,21 @@ export async function fetchAllRequest (urls, onSuccess, onError) { }))) console.log(responses) + var data = [] + var headers = [] + for (let res of responses) { if (res.headers.has('access-token') && res.status !== 304) { updateAccessToken(res.headers.get('access-token')) } + let json = await res.json().catch(err => { + return {}; + }) + data.push(json) + headers.push(res.headers) } - let data = await Promise.all(responses.map( (response) => response.json().catch(err => { - return {}; - }))) - - onSuccess(data) + onSuccess(data, headers) // await Promise.all( urls.map( url => fetch(`${apiUrl}${url}`, { // headers : fetchHeaders() diff --git a/src/Components/MenuBarMobile.js b/src/Components/MenuBarMobile.js index ef15bcb2bc94425dce168f57728ba19123ecc774..c314ab6afc7ee67a628a033860c5328875fb5877 100644 --- a/src/Components/MenuBarMobile.js +++ b/src/Components/MenuBarMobile.js @@ -16,20 +16,18 @@ 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 from 'react' import MenuIcon from '@material-ui/icons/Menu'; import styled from 'styled-components' import { Button } from '@material-ui/core' import logo from '../img/logo_small.svg' import { Link } from 'react-router-dom' import MobileDrawerMenu from './MobileDrawerMenu'; -import { Store } from '../Store'; export default function MenuBarMobile(props) { const [drawerOpen, setDrawerStatus] = React.useState(false); - const { state, dispatch } = useContext(Store) const toggleDrawer = (open) => (event) => { @@ -51,7 +49,7 @@ export default function MenuBarMobile(props) { </Button> <DrawerButtonDiv> <Link to={"/"}> - <img src={logo} style={{ border: "0", verticalAlign: "middle" }} /> + <img src={logo} alt="logo" style={{ border: "0", verticalAlign: "middle" }} /> </Link> </DrawerButtonDiv> </OuterDiv> @@ -63,8 +61,8 @@ const OuterDiv = styled.div` height : 48px; width : 100%; ${'' /* position : relative; */} - display : flex; - direction : row; + display : flex; + direction : row; align-items : center; img { @@ -80,4 +78,4 @@ const DrawerButtonDiv = styled.div` right:0; margin-left:auto; margin-right:auto; -` \ No newline at end of file +` diff --git a/src/Components/TabPanels/PanelComponents/TemplateColecao.js b/src/Components/TabPanels/PanelComponents/TemplateColecao.js index 5e7f2ec149a9c0ae563207ebf242768ae63f8a7b..48d287bf23d35c5eddf062c167c940cdbd97afcd 100644 --- a/src/Components/TabPanels/PanelComponents/TemplateColecao.js +++ b/src/Components/TabPanels/PanelComponents/TemplateColecao.js @@ -84,7 +84,6 @@ export default function PanelTemplateColecao(props) { : ( <React.Fragment> - <StyledGrid container spacing={1} style={{ paddingLeft: "30px", paddingRight: "15px" }}> { props.sliceArr.map((card) => @@ -102,7 +101,8 @@ export default function PanelTemplateColecao(props) { sliceLength={props.sliceArr.length} length={props.length} showMore={props.showMore} - end={props.end} + total={props.end} + end={String(props.sliceArr.length) === props.end} /> } </React.Fragment> diff --git a/src/Components/TabPanels/PanelComponents/TemplateCuradoria.js b/src/Components/TabPanels/PanelComponents/TemplateCuradoria.js index 130a38a314241c8aa54efa92d3eb28b890773661..b91a0174edfc96fc1a52d2f1f3bbc4dc299c0363 100644 --- a/src/Components/TabPanels/PanelComponents/TemplateCuradoria.js +++ b/src/Components/TabPanels/PanelComponents/TemplateCuradoria.js @@ -76,8 +76,8 @@ export default function Template(props) { sliceLength={props.sliceArr.length} length={props.length} showMore={props.showMore} - end={props.end} - total={props.total} + end={String(props.sliceArr.length) === props.end} + total={props.end} /> } diff --git a/src/Components/TabPanels/PanelComponents/TemplateRecurso.js b/src/Components/TabPanels/PanelComponents/TemplateRecurso.js index fc8338325a1aff892a481225c660698f952e0a80..78b712414ee802df5f450935d1e9658d8ba31d7b 100644 --- a/src/Components/TabPanels/PanelComponents/TemplateRecurso.js +++ b/src/Components/TabPanels/PanelComponents/TemplateRecurso.js @@ -74,7 +74,8 @@ export default function Template(props) { sliceLength={props.slice.length} length={props.length} showMore={props.showMore} - end={props.end} + total={props.end} + end={String(props.slice.length) === props.end} /> } diff --git a/src/Components/TabPanels/UserPageTabs/PanelFavoritos.js b/src/Components/TabPanels/UserPageTabs/PanelFavoritos.js index 9f4cb6d9df9d8c5b5d56404594134b032149de29..c92288463871a6a8cdf44944c3fd6a338fdc6266 100644 --- a/src/Components/TabPanels/UserPageTabs/PanelFavoritos.js +++ b/src/Components/TabPanels/UserPageTabs/PanelFavoritos.js @@ -38,10 +38,16 @@ export default function TabPanelFavoritos(props) { const [endOfColl, setEndoffColl] = useState(false) - function handleSuccess(responseArr) { + function handleSuccess(responseArr, headersArr) { setlikedLearnObjs(responseArr[0]) setlikedCollections(responseArr[1]) + if (headersArr[0].has('X-Total-Count')) { + setEndofLearndObj(headersArr[0].get('X-Total-Count')); + } + if (headersArr[1].has('X-Total-Count')) { + setEndoffColl(headersArr[1].get('X-Total-Count')); + } handleLoading(false) } @@ -112,7 +118,7 @@ export default function TabPanelFavoritos(props) { [ <React.Fragment> <Template - length={likedLearnObjs.length} + length={endOfLearnObj} titleText={"Recursos Favoritados"} noContentText={<p style={{ fontFamily: "Roboto", fontSize: "16px" }}>Quando você favorita um recurso ele aparece nesta seção. Além disso, você <br /> @@ -128,7 +134,7 @@ export default function TabPanelFavoritos(props) { <PanelTemplateColecao title={"Coleções favoritadas"} - length={likedCollections.length} + length={endOfColl} noContentText={"Você ainda não curtiu nenhuma coleção."} sliceArr={likedCollections} showMore={showMoreLikedCollections} diff --git a/src/Components/TabPanels/UserPageTabs/PanelMeusRecursos.js b/src/Components/TabPanels/UserPageTabs/PanelMeusRecursos.js index bc299620ff90ff90be2bd6352bb3ebea3c282463..6a329d67f849851fe3fb24b7db913fc6edbed4ee 100644 --- a/src/Components/TabPanels/UserPageTabs/PanelMeusRecursos.js +++ b/src/Components/TabPanels/UserPageTabs/PanelMeusRecursos.js @@ -33,22 +33,32 @@ export default function TabPanelAtividades(props) { const [currLimitDrafts, setcurrLimitDrafts] = useState(4); const [currLimitCurating, setcurrLimitCurating] = useState(4); - const [endOfLearnObj, setEndofLearndObj] = useState(false); - const [endOfDrafts, setEndofDrafts] = useState(false); - const [endOfCurating, setEndofCurating] = useState(false); + const [endOfLearnObj, setEndofLearndObj] = useState(0); + const [endOfDrafts, setEndofDrafts] = useState(0); + const [endOfCurating, setEndofCurating] = useState(0); const [learningObjects, setLearningObjects] = useState([]); const [drafts, setDrafts] = useState([]); const [curating, setCurating] = useState([]); - function handleSuccess(responseArr) { + function handleSuccess(responseArr, headersArr) { setLearningObjects(responseArr[0]) + if (headersArr[0].has('X-Total-Count')) { + setEndofLearndObj(headersArr[0].get('X-Total-Count')); + } setDrafts(responseArr[1]) + if (headersArr[1].has('X-Total-Count')) { + setEndofDrafts(headersArr[1].get('X-Total-Count')); + } setCurating(responseArr[2]) + if (headersArr[2].has('X-Total-Count')) { + setEndofCurating(headersArr[2].get('X-Total-Count')); + } handleLoading(false) + } useEffect(() => { diff --git a/src/Components/UserPageComponents/UserInfo.js b/src/Components/UserPageComponents/UserInfo.js index 32985ffb962d20791c3ac1270e074d3c0171eec0..4782759f8f2e4eb70a86b03e13d8be603c035f6e 100644 --- a/src/Components/UserPageComponents/UserInfo.js +++ b/src/Components/UserPageComponents/UserInfo.js @@ -23,7 +23,6 @@ export default function UserInfo(props) { const { state } = useContext(Store); const user = state.currentUser.name; - const education = state.currentUser.education; return ( <UserProfileInfoDiv>