Skip to content
Snippets Groups Projects
App.js 5.31 KiB
Newer Older
/*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, useEffect } from 'react';
import Home from './Pages/Home';
import Search from './Pages/Search'
import Header from './Components/Header'
import EcFooter from './Components/EcFooter';
import GNUAGPLfooter from './Components/AGPLFooter';
import UserPage from './Pages/UserPage';
lfr20's avatar
lfr20 committed
import Admin from './Admin/Pages/Pages /Admin';
mrp19's avatar
mrp19 committed
import UserTerms from './Pages/UserTerms';
mrp19's avatar
mrp19 committed
import Contact from './Pages/Contact';
import Teste from './Pages/Teste';
import AboutPage from './Pages/AboutPage';
import HelpCenter from './Pages/HelpCenter';
import TabResoursePub from './Pages/TabsHelp/TabResoursePub';
import TabResourseFind from './Pages/TabsHelp/TabResourseFind';
import TabNetPart from './Pages/TabsHelp/TabNetPart';
import TabManageAc from './Pages/TabsHelp/TabManageAc';
import PasswordRecoveryPage from './Pages/PasswordRecoveryPage.js'
import PageProfessor from './Pages/PageProfessor.js'
import ResourcePage from './Pages/ResourcePage';
lfr20's avatar
lfr20 committed
import { BrowserRouter, Switch, Route } from 'react-router-dom';
import TermsPage from './Pages/TermsPage.js'
import PublicationPermissionsPage from './Pages/PublicationPermissionsPage.js'
import TabPlataformaMEC from './Pages/TabsHelp/TabPlataformaMEC';
import ItemStore from './Pages/ItemStore.js'
import EditProfilePage from './Pages/EditProfilePage.js'
import PublicUserPage from './Pages/PublicUserPage.js'
lfr20's avatar
lfr20 committed
import UploadPage from './Pages/UploadPage.js' 
import EditLearningObjectPage from './Pages/EditLearningObjectPage.js' 
lfr20's avatar
lfr20 committed
const App = (props) => {
    // eslint-disable-next-line
    const { state, dispatch } = useContext(Store)
lfr20's avatar
lfr20 committed
    useEffect(() => {
        dispatch({
            type: 'WINDOW_SIZE',
            innerWindow: {
                width: window.innerWidth,
                height: window.innerHeight
            }
        })
    }, [])
lfr20's avatar
lfr20 committed
    useEffect(() => {
        const setWindowSize = () => {
            dispatch({
                type: 'WINDOW_SIZE',
                innerWindow: {
                    width: window.innerWidth,
                    height: window.innerHeight
                }
            })
lfr20's avatar
lfr20 committed
        window.addEventListener('resize', setWindowSize)
lfr20's avatar
lfr20 committed
        return () => window.removeEventListener('resize', setWindowSize)
    }, [window.innerWidth, window.innerHeight])
lfr20's avatar
lfr20 committed
    return (
        <BrowserRouter>
            <Header />
            <div style={{ backgroundImage: "linear-gradient(to right,#ff7f00,#e81f4f,#673ab7,#00bcd4)", height: "5px" }}/>
            <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} />
                <Route path="/perfil" component={UserPage} />
                <Route path="/editarperfil" component={EditProfilePage}/>
                <Route path="/admin" component={Admin}/>
                <Route path="/recurso/:recursoId" 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="/ajuda" component={HelpCenter} />
                <Route path="/contato" component={Contact} />
                <Route path="/termos" component={UserTerms} />
                <Route path="/teste" component={Teste} />
                <Route path="/sobre" component={AboutPage} />
                <Route path="/publicando-recurso" component={TabResoursePub} />
                <Route path="/encontrando-recurso" component={TabResourseFind} />
                <Route path="/participando-da-rede" component={TabNetPart} />
                <Route path="/gerenciando-conta" component={TabManageAc} />
                <Route path="/plataforma-mec" component={TabPlataformaMEC} />
                <Route path="/recuperar-senha" component={PasswordRecoveryPage} />
                <Route path="/usuario-publico/:userId" component={PublicUserPage} />
                <Route path="/editar-recurso/:recursoId" component={EditLearningObjectPage} />
                <Route path='/professor' component={PageProfessor} />
                <Route path="/upload" component={UploadPage} />
                <Route path='/loja' component={ItemStore} />
            </Switch>
            <EcFooter />
            <GNUAGPLfooter />
        </BrowserRouter>
    )
lfr20's avatar
lfr20 committed


export default App;