From e6cbb15ce35077269daff7ca8766537206365874 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Leonardo=20Mur=C3=A7a?=
Date: Thu, 7 Jul 2022 14:18:52 -0300
Subject: [PATCH] Extract app related files to app folder
---
src/{ => app}/App.js | 4 +-
src/{ => app}/AuthenticatedApp.js | 73 +++++------------------------
src/{ => app}/UnauthenticatedApp.js | 4 +-
src/app/data.js | 52 ++++++++++++++++++++
src/index.js | 2 +-
src/screens/Information/data.js | 70 +++++++++++++++++++++++++++
src/screens/Information/index.js | 71 +---------------------------
7 files changed, 142 insertions(+), 134 deletions(-)
rename src/{ => app}/App.js (79%)
rename src/{ => app}/AuthenticatedApp.js (52%)
rename src/{ => app}/UnauthenticatedApp.js (86%)
create mode 100644 src/app/data.js
create mode 100644 src/screens/Information/data.js
diff --git a/src/App.js b/src/app/App.js
similarity index 79%
rename from src/App.js
rename to src/app/App.js
index bea1a42..bf564b0 100644
--- a/src/App.js
+++ b/src/app/App.js
@@ -1,7 +1,7 @@
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 UnauthenticatedApp = lazy(() => import('./UnauthenticatedApp'));
diff --git a/src/AuthenticatedApp.js b/src/app/AuthenticatedApp.js
similarity index 52%
rename from src/AuthenticatedApp.js
rename to src/app/AuthenticatedApp.js
index 1244c34..0e4034e 100644
--- a/src/AuthenticatedApp.js
+++ b/src/app/AuthenticatedApp.js
@@ -1,22 +1,17 @@
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 useLayoutType from './hooks/useLayoutType';
-import Toolbar from './components/Toolbar';
-import { useUser } from './context/user';
-import { useAuthState } from './context/auth';
-import Classroom from './screens/Classroom';
+import { useUser } from '../context/user';
+import { useAuthState } from '../context/auth';
+
+import MainMenu from '../components/MainMenu';
+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() {
const navigate = useNavigate();
@@ -24,17 +19,6 @@ function AuthenticatedApp() {
const { logout } = useAuthState();
const layoutType = useLayoutType();
- const avatarMenuOptions = [
- {
- text: 'Meu Perfil',
- action: () => navigate('/profile', { replace: true }),
- },
- {
- text: 'Sair',
- action: logout,
- },
- ];
-
return (
state &&
state.user && (
@@ -46,7 +30,7 @@ function AuthenticatedApp() {
}
layoutType={layoutType}
- avatarMenuOptions={avatarMenuOptions}
+ avatarMenuOptions={avatarMenuOptions(navigate, logout)}
/>
[
- {
- id: 0,
- text: 'Página Inicial',
- selectedIcon: ,
- unselectedIcon: ,
- pathname: '/home',
- isActive:
- activePath === '/home' ||
- activePath === '/login' ||
- activePath === '/' ||
- activePath.indexOf('class') !== -1,
- },
- {
- id: 1,
- text: 'Informações',
- selectedIcon: ,
- unselectedIcon: ,
- pathname: '/info',
- isActive: activePath === '/info',
- },
- {
- id: 2,
- text: 'Calendário',
- selectedIcon: ,
- unselectedIcon: ,
- pathname: '/calendar',
- isActive: activePath === '/calendar',
- },
-];
-
export default AuthenticatedApp;
diff --git a/src/UnauthenticatedApp.js b/src/app/UnauthenticatedApp.js
similarity index 86%
rename from src/UnauthenticatedApp.js
rename to src/app/UnauthenticatedApp.js
index 18d2b64..32d2501 100644
--- a/src/UnauthenticatedApp.js
+++ b/src/app/UnauthenticatedApp.js
@@ -1,8 +1,8 @@
import { Container } from '@mui/material';
import { Navigate, Route, Routes } from 'react-router-dom';
-import Login from './screens/Login';
-import UnauthenticatedHome from './screens/UnauthenticatedHome';
+import Login from '../screens/Login';
+import UnauthenticatedHome from '../screens/UnauthenticatedHome';
function UnauthenticatedApp() {
return (
diff --git a/src/app/data.js b/src/app/data.js
new file mode 100644
index 0000000..1517370
--- /dev/null
+++ b/src/app/data.js
@@ -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: ,
+ unselectedIcon: ,
+ pathname: '/home',
+ isActive:
+ activePath === '/home' ||
+ activePath === '/login' ||
+ activePath === '/' ||
+ activePath.indexOf('class') !== -1,
+ },
+ {
+ id: 1,
+ text: 'Informações',
+ selectedIcon: ,
+ unselectedIcon: ,
+ pathname: '/info',
+ isActive: activePath === '/info',
+ },
+ {
+ id: 2,
+ text: 'Calendário',
+ selectedIcon: ,
+ unselectedIcon: ,
+ pathname: '/calendar',
+ isActive: activePath === '/calendar',
+ },
+];
+
+export { menuOptions, avatarMenuOptions };
diff --git a/src/index.js b/src/index.js
index ce197a4..ae129ee 100644
--- a/src/index.js
+++ b/src/index.js
@@ -7,7 +7,7 @@ import { BrowserRouter } from 'react-router-dom';
import { createTheme } from '@mui/material';
import { ThemeProvider } from '@mui/system';
-import App from './App';
+import App from './app/App';
import reportWebVitals from './reportWebVitals';
import AppProviders from './context';
diff --git a/src/screens/Information/data.js b/src/screens/Information/data.js
new file mode 100644
index 0000000..3b239b3
--- /dev/null
+++ b/src/screens/Information/data.js
@@ -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 };
diff --git a/src/screens/Information/index.js b/src/screens/Information/index.js
index e9d5c7f..b1f7965 100644
--- a/src/screens/Information/index.js
+++ b/src/screens/Information/index.js
@@ -2,7 +2,9 @@ import { useEffect, useState } from 'react';
import { useUser } from '../../context/user';
import { useDocumentTitle } from '../../hooks/useDocumentTitle';
import useLayoutType from '../../hooks/useLayoutType';
+
import View from './View';
+import { sectors } from './data';
function Information() {
useDocumentTitle('Informações');
@@ -18,75 +20,6 @@ function Information() {
getClassrooms();
}, [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 ;
}