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

App.js

Blame
  • App.js 5.16 KiB
    /*Copyright (C) 2019 Centro de Computacao Cientifica e Software Livre
    Departamento de Informatica - Universidade Federal do Parana
    
    This file is part of Plataforma Integrada MEC.
    
    Plataforma Integrada MEC is free software: you can redistribute it and/or modify
    it under the terms of the GNU Affero General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.
    
    Plataforma Integrada MEC is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Affero General Public License for more details.
    
    You should have received a copy of the GNU Affero General Public License
    along with Plataforma Integrada MEC.  If not, see <http://www.gnu.org/licenses/>.*/
    
    import React, { useContext, 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';
    import UserTerms from './Pages/UserTerms';
    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';
    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 TabPlataformaMEC from './Pages/TabsHelp/TabPlataformaMEC';
    import ItemStore from './Pages/ItemStore.js'
    import EditProfilePage from './Pages/EditProfilePage.js'
    import PublicUserPage from './Pages/PublicUserPage.js'
    import UploadPage from './Pages/UploadPage.js'
    import EditLearningObjectPage from './Pages/EditLearningObjectPage.js'
    import SiteMap from './Pages/SiteMap'
    import Accessibility from './Pages/Accessibility'
    import CollectionPage from './Pages/CollectionPage.js'
    
    export default function App(){
      // eslint-disable-next-line
      const { state, dispatch } = useContext(Store)
    
      useEffect(()=>{
          dispatch({
            type: 'WINDOW_SIZE',
            innerWindow: {
              width: window.innerWidth,
              height: window.innerHeight
            }
          })
      },[])
    
      useEffect(()=>{
        const setWindowSize = () => {
          dispatch({
            type: 'WINDOW_SIZE',
            innerWindow: {
              width: window.innerWidth,
              height: window.innerHeight
            }
          })
        }
    
        window.addEventListener('resize',setWindowSize)
    
        return () => window.removeEventListener('resize',setWindowSize)
      },[window.innerWidth,window.innerHeight])
    
      return(
        <BrowserRouter basename="/react">
          <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} />
            <Route path="/perfil" component={UserPage} />
            <Route path="/editarperfil" component={EditProfilePage} />
            <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="/mapa-site" component={SiteMap}/>
          	<Route path="/acessibilidade" component={Accessibility}/>
            <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} />
            <Route path='/colecao-do-usuario/:id' component={CollectionPage} />
          </Switch>
          <EcFooter/>
          <GNUAGPLfooter/>
        </BrowserRouter>
      )
    }