Skip to content
Snippets Groups Projects
App.js 2.59 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';
mrp19's avatar
mrp19 committed
import UserTerms from './Pages/UserTerms';
mrp19's avatar
mrp19 committed

import Teste from './Pages/Teste';
mrp19's avatar
mrp19 committed

import ResourcePage from './Pages/ResourcePage';
import {BrowserRouter, Switch, Route} from 'react-router-dom';
import { Store } from './Store'

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>
      <Header />
      <div style={{backgroundImage: "linear-gradient(to right,#ff7f00,#e81f4f,#673ab7,#00bcd4)", height:"5px"}}></div>
      <Switch>
        <Route path="/" exact={true} component={Home}/>
        <Route path="/busca" component={Search} />
        <Route path="/usuario" component={UserPage} />
        <Route path="/recurso" component={ResourcePage}/>
      	<Route path="/termos" component={UserTerms}/>
        <Route path="/teste" component={Teste}/>
      </Switch>
      <EcFooter/>
      <GNUAGPLfooter/>
    </BrowserRouter>
  )