Extract app related files to app folder

This commit is contained in:
Leonardo Murça 2022-07-07 14:18:52 -03:00
parent d0fd6b7144
commit e6cbb15ce3
7 changed files with 142 additions and 134 deletions

View file

@ -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'));

View file

@ -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;

View file

@ -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
View 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 };

View file

@ -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';

View 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 };

View file

@ -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} />;
} }