Extract app related files to app folder
This commit is contained in:
parent
d0fd6b7144
commit
e6cbb15ce3
7 changed files with 142 additions and 134 deletions
|
@ -1,7 +1,7 @@
|
||||||
import { lazy, Suspense } from 'react';
|
import { lazy, Suspense } from 'react';
|
||||||
import { useAuthState } from './context/auth';
|
import { useAuthState } from '../context/auth';
|
||||||
|
|
||||||
import LoadingIndicator from './components/LoadingIndicator';
|
import LoadingIndicator from '../components/LoadingIndicator';
|
||||||
|
|
||||||
const AuthenticatedApp = lazy(() => import('./AuthenticatedApp'));
|
const AuthenticatedApp = lazy(() => import('./AuthenticatedApp'));
|
||||||
const UnauthenticatedApp = lazy(() => import('./UnauthenticatedApp'));
|
const UnauthenticatedApp = lazy(() => import('./UnauthenticatedApp'));
|
|
@ -1,22 +1,17 @@
|
||||||
import { Navigate, Route, Routes, useNavigate } from 'react-router-dom';
|
import { Navigate, Route, Routes, useNavigate } from 'react-router-dom';
|
||||||
import {
|
|
||||||
CalendarMonth,
|
|
||||||
CalendarMonthOutlined,
|
|
||||||
Home as HomeIcon,
|
|
||||||
HomeOutlined,
|
|
||||||
Info,
|
|
||||||
InfoOutlined,
|
|
||||||
} from '@mui/icons-material';
|
|
||||||
import MainMenu from './components/MainMenu';
|
|
||||||
import Home from './screens/Home';
|
|
||||||
import Information from './screens/Information';
|
|
||||||
import Calendar from './screens/Calendar';
|
|
||||||
import { Container } from '@mui/system';
|
import { Container } from '@mui/system';
|
||||||
import useLayoutType from './hooks/useLayoutType';
|
import { useUser } from '../context/user';
|
||||||
import Toolbar from './components/Toolbar';
|
import { useAuthState } from '../context/auth';
|
||||||
import { useUser } from './context/user';
|
|
||||||
import { useAuthState } from './context/auth';
|
import MainMenu from '../components/MainMenu';
|
||||||
import Classroom from './screens/Classroom';
|
import Home from '../screens/Home';
|
||||||
|
import Information from '../screens/Information';
|
||||||
|
import Calendar from '../screens/Calendar';
|
||||||
|
import useLayoutType from '../hooks/useLayoutType';
|
||||||
|
import Toolbar from '../components/Toolbar';
|
||||||
|
import Classroom from '../screens/Classroom';
|
||||||
|
|
||||||
|
import { avatarMenuOptions, menuOptions } from './data';
|
||||||
|
|
||||||
function AuthenticatedApp() {
|
function AuthenticatedApp() {
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
|
@ -24,17 +19,6 @@ function AuthenticatedApp() {
|
||||||
const { logout } = useAuthState();
|
const { logout } = useAuthState();
|
||||||
const layoutType = useLayoutType();
|
const layoutType = useLayoutType();
|
||||||
|
|
||||||
const avatarMenuOptions = [
|
|
||||||
{
|
|
||||||
text: 'Meu Perfil',
|
|
||||||
action: () => navigate('/profile', { replace: true }),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
text: 'Sair',
|
|
||||||
action: logout,
|
|
||||||
},
|
|
||||||
];
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
state &&
|
state &&
|
||||||
state.user && (
|
state.user && (
|
||||||
|
@ -46,7 +30,7 @@ function AuthenticatedApp() {
|
||||||
</p>
|
</p>
|
||||||
}
|
}
|
||||||
layoutType={layoutType}
|
layoutType={layoutType}
|
||||||
avatarMenuOptions={avatarMenuOptions}
|
avatarMenuOptions={avatarMenuOptions(navigate, logout)}
|
||||||
/>
|
/>
|
||||||
<Container
|
<Container
|
||||||
maxWidth="false"
|
maxWidth="false"
|
||||||
|
@ -88,35 +72,4 @@ const mobileContainer = {
|
||||||
justifyContent: 'start',
|
justifyContent: 'start',
|
||||||
};
|
};
|
||||||
|
|
||||||
const menuOptions = activePath => [
|
|
||||||
{
|
|
||||||
id: 0,
|
|
||||||
text: 'Página Inicial',
|
|
||||||
selectedIcon: <HomeIcon />,
|
|
||||||
unselectedIcon: <HomeOutlined />,
|
|
||||||
pathname: '/home',
|
|
||||||
isActive:
|
|
||||||
activePath === '/home' ||
|
|
||||||
activePath === '/login' ||
|
|
||||||
activePath === '/' ||
|
|
||||||
activePath.indexOf('class') !== -1,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 1,
|
|
||||||
text: 'Informações',
|
|
||||||
selectedIcon: <Info />,
|
|
||||||
unselectedIcon: <InfoOutlined />,
|
|
||||||
pathname: '/info',
|
|
||||||
isActive: activePath === '/info',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 2,
|
|
||||||
text: 'Calendário',
|
|
||||||
selectedIcon: <CalendarMonth />,
|
|
||||||
unselectedIcon: <CalendarMonthOutlined />,
|
|
||||||
pathname: '/calendar',
|
|
||||||
isActive: activePath === '/calendar',
|
|
||||||
},
|
|
||||||
];
|
|
||||||
|
|
||||||
export default AuthenticatedApp;
|
export default AuthenticatedApp;
|
|
@ -1,8 +1,8 @@
|
||||||
import { Container } from '@mui/material';
|
import { Container } from '@mui/material';
|
||||||
import { Navigate, Route, Routes } from 'react-router-dom';
|
import { Navigate, Route, Routes } from 'react-router-dom';
|
||||||
|
|
||||||
import Login from './screens/Login';
|
import Login from '../screens/Login';
|
||||||
import UnauthenticatedHome from './screens/UnauthenticatedHome';
|
import UnauthenticatedHome from '../screens/UnauthenticatedHome';
|
||||||
|
|
||||||
function UnauthenticatedApp() {
|
function UnauthenticatedApp() {
|
||||||
return (
|
return (
|
52
src/app/data.js
Normal file
52
src/app/data.js
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
import {
|
||||||
|
CalendarMonth,
|
||||||
|
CalendarMonthOutlined,
|
||||||
|
Home,
|
||||||
|
HomeOutlined,
|
||||||
|
Info,
|
||||||
|
InfoOutlined,
|
||||||
|
} from '@mui/icons-material';
|
||||||
|
|
||||||
|
const avatarMenuOptions = (navigate, logout) => [
|
||||||
|
{
|
||||||
|
text: 'Meu Perfil',
|
||||||
|
action: () => navigate('/profile', { replace: true }),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: 'Sair',
|
||||||
|
action: logout,
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
const menuOptions = activePath => [
|
||||||
|
{
|
||||||
|
id: 0,
|
||||||
|
text: 'Página Inicial',
|
||||||
|
selectedIcon: <Home />,
|
||||||
|
unselectedIcon: <HomeOutlined />,
|
||||||
|
pathname: '/home',
|
||||||
|
isActive:
|
||||||
|
activePath === '/home' ||
|
||||||
|
activePath === '/login' ||
|
||||||
|
activePath === '/' ||
|
||||||
|
activePath.indexOf('class') !== -1,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 1,
|
||||||
|
text: 'Informações',
|
||||||
|
selectedIcon: <Info />,
|
||||||
|
unselectedIcon: <InfoOutlined />,
|
||||||
|
pathname: '/info',
|
||||||
|
isActive: activePath === '/info',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 2,
|
||||||
|
text: 'Calendário',
|
||||||
|
selectedIcon: <CalendarMonth />,
|
||||||
|
unselectedIcon: <CalendarMonthOutlined />,
|
||||||
|
pathname: '/calendar',
|
||||||
|
isActive: activePath === '/calendar',
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
export { menuOptions, avatarMenuOptions };
|
|
@ -7,7 +7,7 @@ import { BrowserRouter } from 'react-router-dom';
|
||||||
import { createTheme } from '@mui/material';
|
import { createTheme } from '@mui/material';
|
||||||
import { ThemeProvider } from '@mui/system';
|
import { ThemeProvider } from '@mui/system';
|
||||||
|
|
||||||
import App from './App';
|
import App from './app/App';
|
||||||
import reportWebVitals from './reportWebVitals';
|
import reportWebVitals from './reportWebVitals';
|
||||||
import AppProviders from './context';
|
import AppProviders from './context';
|
||||||
|
|
||||||
|
|
70
src/screens/Information/data.js
Normal file
70
src/screens/Information/data.js
Normal file
|
@ -0,0 +1,70 @@
|
||||||
|
const sectors = [
|
||||||
|
{
|
||||||
|
title: 'Controle e Registro Acadêmico (CRA)',
|
||||||
|
description:
|
||||||
|
'Realiza atividades como a expedição de históricos escolares, declarações de matrícula, diplomas, desligamento de curso, dispensas de disciplinas e outros requerimentos diversos.',
|
||||||
|
informationUrl:
|
||||||
|
'https://www.ifmg.edu.br/sabara/ensino-pesquisa-e-extensao/controle-e-registro-academico',
|
||||||
|
coverImage: {
|
||||||
|
image: 'https://pixabay.com/images/download/archive-1850170_640.jpg',
|
||||||
|
alt: 'Fotografia de uma sala cheia de arquivos',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Núcleo de Apoio Educacional (NAE)',
|
||||||
|
description:
|
||||||
|
'O Núcleo de Apoio Educacional – NAE é o setor que oferece suporte e assessoria às atividades de ensino, pesquisa e extensão. Atua no acompanhamento e assistência direta aos discentes e docentes, no atendimento à comunidade externa e na colaboração com o trabalho dos gestores.',
|
||||||
|
informationUrl:
|
||||||
|
'https://www.ifmg.edu.br/sabara/ensino-pesquisa-e-extensao/nae',
|
||||||
|
coverImage: {
|
||||||
|
image: 'https://pixabay.com/images/download/people-2557399_640.jpg',
|
||||||
|
alt: 'Fotografia de pessoas estudando juntas',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Estágios',
|
||||||
|
description:
|
||||||
|
'Atua na orientação do discente sobre todo o processo de documentação e acompanhamento do estágio.',
|
||||||
|
informationUrl:
|
||||||
|
'https://www.ifmg.edu.br/sabara/ensino-pesquisa-e-extensao/estagios-1',
|
||||||
|
coverImage: {
|
||||||
|
image:
|
||||||
|
'https://thumbs.dreamstime.com/b/est%C3%A1gio-e-lista-de-profissionais-escritos-na-nota-122225688.jpg',
|
||||||
|
alt: 'Fotografia de pessoas estudando juntas',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Pesquisa',
|
||||||
|
description:
|
||||||
|
'A Coordenação de Pesquisa, Inovação e Pós-graduação do IFMG Campus Sabará, busca fomentar o desenvolvimento da pesquisa e inovação por meio de estímulos para criação de projetos que envolvam a comunidade acadêmica.',
|
||||||
|
informationUrl:
|
||||||
|
'https://www.ifmg.edu.br/sabara/ensino-pesquisa-e-extensao/estagios-1',
|
||||||
|
coverImage: {
|
||||||
|
image: 'https://pixabay.com/images/download/microscope-275984_640.jpg',
|
||||||
|
alt: 'Fotografia de um microscópio',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Extensão e Relações Institucionais',
|
||||||
|
description:
|
||||||
|
'O desenvolvimento da extensão permite a comunidade acadêmica ter um canal de comunicação e de mútuo aprendizado no binômio escola - comunidade.',
|
||||||
|
informationUrl:
|
||||||
|
'https://www.ifmg.edu.br/sabara/ensino-pesquisa-e-extensao/estagios-1',
|
||||||
|
coverImage: {
|
||||||
|
image: 'https://pixabay.com/images/download/team-386673_640.jpg',
|
||||||
|
alt: 'Fotografia de pessoas estendendo uma mão em uma roda',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Biblioteca',
|
||||||
|
description:
|
||||||
|
'A biblioteca do IFMG Campus Sabará tem como finalidade proporcionar ao seu corpo docente e discente, técnicos administrativos, pesquisadores e à comunidade geral o acesso a materiais e informações bibliográficas. Assim, a biblioteca disponibiliza aos seus usuários os serviços de empréstimos, reservas, renovação, auxílio aos alunos, levantamentos bibliográficos e consulta local ao acervo.',
|
||||||
|
informationUrl: 'https://www.ifmg.edu.br/sabara/biblioteca/apresentacao',
|
||||||
|
coverImage: {
|
||||||
|
image: 'https://pixabay.com/images/download/books-1281581_640.jpg',
|
||||||
|
alt: 'Fotografia de uma biblioteca',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
export { sectors };
|
|
@ -2,7 +2,9 @@ import { useEffect, useState } from 'react';
|
||||||
import { useUser } from '../../context/user';
|
import { useUser } from '../../context/user';
|
||||||
import { useDocumentTitle } from '../../hooks/useDocumentTitle';
|
import { useDocumentTitle } from '../../hooks/useDocumentTitle';
|
||||||
import useLayoutType from '../../hooks/useLayoutType';
|
import useLayoutType from '../../hooks/useLayoutType';
|
||||||
|
|
||||||
import View from './View';
|
import View from './View';
|
||||||
|
import { sectors } from './data';
|
||||||
|
|
||||||
function Information() {
|
function Information() {
|
||||||
useDocumentTitle('Informações');
|
useDocumentTitle('Informações');
|
||||||
|
@ -18,75 +20,6 @@ function Information() {
|
||||||
getClassrooms();
|
getClassrooms();
|
||||||
}, [fetchFAQ]);
|
}, [fetchFAQ]);
|
||||||
|
|
||||||
const sectors = [
|
|
||||||
{
|
|
||||||
title: 'Controle e Registro Acadêmico (CRA)',
|
|
||||||
description:
|
|
||||||
'Realiza atividades como a expedição de históricos escolares, declarações de matrícula, diplomas, desligamento de curso, dispensas de disciplinas e outros requerimentos diversos.',
|
|
||||||
informationUrl:
|
|
||||||
'https://www.ifmg.edu.br/sabara/ensino-pesquisa-e-extensao/controle-e-registro-academico',
|
|
||||||
coverImage: {
|
|
||||||
image: 'https://pixabay.com/images/download/archive-1850170_640.jpg',
|
|
||||||
alt: 'Fotografia de uma sala cheia de arquivos',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Núcleo de Apoio Educacional (NAE)',
|
|
||||||
description:
|
|
||||||
'O Núcleo de Apoio Educacional – NAE é o setor que oferece suporte e assessoria às atividades de ensino, pesquisa e extensão. Atua no acompanhamento e assistência direta aos discentes e docentes, no atendimento à comunidade externa e na colaboração com o trabalho dos gestores.',
|
|
||||||
informationUrl:
|
|
||||||
'https://www.ifmg.edu.br/sabara/ensino-pesquisa-e-extensao/nae',
|
|
||||||
coverImage: {
|
|
||||||
image: 'https://pixabay.com/images/download/people-2557399_640.jpg',
|
|
||||||
alt: 'Fotografia de pessoas estudando juntas',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Estágios',
|
|
||||||
description:
|
|
||||||
'Atua na orientação do discente sobre todo o processo de documentação e acompanhamento do estágio.',
|
|
||||||
informationUrl:
|
|
||||||
'https://www.ifmg.edu.br/sabara/ensino-pesquisa-e-extensao/estagios-1',
|
|
||||||
coverImage: {
|
|
||||||
image:
|
|
||||||
'https://thumbs.dreamstime.com/b/est%C3%A1gio-e-lista-de-profissionais-escritos-na-nota-122225688.jpg',
|
|
||||||
alt: 'Fotografia de pessoas estudando juntas',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Pesquisa',
|
|
||||||
description:
|
|
||||||
'A Coordenação de Pesquisa, Inovação e Pós-graduação do IFMG Campus Sabará, busca fomentar o desenvolvimento da pesquisa e inovação por meio de estímulos para criação de projetos que envolvam a comunidade acadêmica.',
|
|
||||||
informationUrl:
|
|
||||||
'https://www.ifmg.edu.br/sabara/ensino-pesquisa-e-extensao/estagios-1',
|
|
||||||
coverImage: {
|
|
||||||
image: 'https://pixabay.com/images/download/microscope-275984_640.jpg',
|
|
||||||
alt: 'Fotografia de um microscópio',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Extensão e Relações Institucionais',
|
|
||||||
description:
|
|
||||||
'O desenvolvimento da extensão permite a comunidade acadêmica ter um canal de comunicação e de mútuo aprendizado no binômio escola - comunidade.',
|
|
||||||
informationUrl:
|
|
||||||
'https://www.ifmg.edu.br/sabara/ensino-pesquisa-e-extensao/estagios-1',
|
|
||||||
coverImage: {
|
|
||||||
image: 'https://pixabay.com/images/download/team-386673_640.jpg',
|
|
||||||
alt: 'Fotografia de pessoas estendendo uma mão em uma roda',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Biblioteca',
|
|
||||||
description:
|
|
||||||
'A biblioteca do IFMG Campus Sabará tem como finalidade proporcionar ao seu corpo docente e discente, técnicos administrativos, pesquisadores e à comunidade geral o acesso a materiais e informações bibliográficas. Assim, a biblioteca disponibiliza aos seus usuários os serviços de empréstimos, reservas, renovação, auxílio aos alunos, levantamentos bibliográficos e consulta local ao acervo.',
|
|
||||||
informationUrl: 'https://www.ifmg.edu.br/sabara/biblioteca/apresentacao',
|
|
||||||
coverImage: {
|
|
||||||
image: 'https://pixabay.com/images/download/books-1281581_640.jpg',
|
|
||||||
alt: 'Fotografia de uma biblioteca',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
];
|
|
||||||
|
|
||||||
return <View faq={faq} sectors={sectors} layoutType={layoutType} />;
|
return <View faq={faq} sectors={sectors} layoutType={layoutType} />;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue