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