Skip to content

Commit

Permalink
[FIX]: validação do período de matrículas
Browse files Browse the repository at this point in the history
  • Loading branch information
juliaryoshida committed Dec 14, 2023
1 parent 55326cc commit aabc685
Show file tree
Hide file tree
Showing 6 changed files with 501 additions and 385 deletions.
15 changes: 14 additions & 1 deletion backend/controllers/SuperuserController.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,17 @@ exports.openRegistrationPeriod = async (req, res) => {
res.status(400).json({error: err});
};
});
}
}


exports.getRegistrationperiod = async (req, res) => {
try {
const currentPeriod = await Registration.findOne({
start: { $lte: new Date() },
end: { $gte: new Date() },
});
res.json(currentPeriod);
} catch (error) {
res.status(500).json({ error: 'Erro ao buscar o período de matrícula atual.' });
}
}
2 changes: 2 additions & 0 deletions backend/views/routes/RegistrationPeriod.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,7 @@ const router = express.Router();
const RegistrationPeriodController = require('../../controllers/SuperuserController');

router.post("/create", RegistrationPeriodController.openRegistrationPeriod);
router.get("/current", RegistrationPeriodController.getRegistrationperiod);


module.exports = router;
79 changes: 51 additions & 28 deletions frontend/src/pages/Home/index.js
Original file line number Diff line number Diff line change
@@ -1,72 +1,95 @@
import React from "react";
import React, { useState, useEffect } from "react";
import { Container, Flex, Text, HStack, Button, Center } from "@chakra-ui/react";
import Header from "../../components/Header/index.js";
import Footer from "../../components/Footer/index.js";
import { ChakraProvider } from "@chakra-ui/react";
import * as C from "./styles";
import { Link } from "react-router-dom";
import axios from "axios";

const Home = () => {
const [currentRegistrationPeriod, setCurrentRegistrationPeriod] = useState(null);

useEffect(() => {
const fetchCurrentRegistrationPeriod = async () => {
try {
const response = await axios.get("https://backend-matriculai.vercel.app/registration-period/current");
setCurrentRegistrationPeriod(response.data);
} catch (error) {
console.error("Erro ao buscar o período de matrícula atual:", error);
}
};

fetchCurrentRegistrationPeriod();
}, []);

return (
<ChakraProvider>
<Flex direction="column" minH="100vh">
<Header />
<Container flex="1" marginTop='5vh'>
<Container flex="1" marginTop="5vh">
<Center>
<C.titulo>
<Text
textAlign={"center"}
fontSize={"3xl"}
color={"#243A69"}
as={"b"}
>
<Text textAlign={"center"} fontSize={"3xl"} color={"#243A69"} as={"b"}>
Bem vindo, administrador!
</Text>
</C.titulo>
</Center>

<Center>
<HStack spacing='4' marginTop='2vh'>
<Button colorScheme='facebook' size='lg' width='35vh'>
<Link to='/criar-trilha'>Criar trilha</Link>
<HStack spacing="4" marginTop="2vh">
<Button colorScheme="facebook" size="lg" width="35vh">
<Link to="/criar-trilha">Criar trilha</Link>
</Button>
<Button colorScheme='facebook' size='lg' width='35vh' >
<Link to='/criar-eletiva'>Criar Eletiva</Link>
<Button colorScheme="facebook" size="lg" width="35vh">
<Link to="/criar-eletiva">Criar Eletiva</Link>
</Button>
</HStack>
</Center>

<Center>
<HStack spacing='4' marginTop='2vh'>
<Button colorScheme='facebook' size='lg' width='35vh'>
<Link to='/excluir-trilhas'>Excluir trilha</Link>
<HStack spacing="4" marginTop="2vh">
<Button colorScheme="facebook" size="lg" width="35vh">
<Link to="/excluir-trilhas">Excluir trilha</Link>
</Button>
<Button colorScheme='facebook' size='lg'width='35vh'>
<Link to='/excluir-eletivas'>Excluir eletiva</Link>
<Button colorScheme="facebook" size="lg" width="35vh">
<Link to="/excluir-eletivas">Excluir eletiva</Link>
</Button>
</HStack>
</Center>

<Center>
<HStack spacing='4' marginTop='2vh'>
<Button colorScheme='facebook' size='lg' width='35vh'>
<Link to='/trilhas'>Trilhas</Link>
<HStack spacing="4" marginTop="2vh">
<Button colorScheme="facebook" size="lg" width="35vh">
<Link to="/trilhas">Trilhas</Link>
</Button>
<Button colorScheme='facebook' size='lg' width='35vh'>
<Link to='/eletivas'>Eletivas</Link>
<Button colorScheme="facebook" size="lg" width="35vh">
<Link to="/eletivas">Eletivas</Link>
</Button>
</HStack>
</Center>

<Center>
<HStack spacing='4' marginTop='2vh'>
<Button colorScheme='facebook' size='lg' width='35vh'>
<Link to='/cadastrar-estudantes'>Importar estudantes</Link>
<HStack spacing="4" marginTop="2vh">
<Button colorScheme="facebook" size="lg" width="35vh">
<Link to="/cadastrar-estudantes">Importar estudantes</Link>
</Button>
<Button colorScheme='facebook' size='lg' width='35vh'>
<Link to='/periodo-matriculas'>Periodo de matriculas</Link>
<Button colorScheme="facebook" size="lg" width="35vh">
<Link to="/periodo-matriculas">Periodo de matriculas</Link>
</Button>
</HStack>
</Center>

{currentRegistrationPeriod && (
<Center>
<Text fontSize="lg" color="#243A69" marginTop="2vh">
Período de Matrícula Atual:{" "}
{`${new Date(currentRegistrationPeriod.start).toLocaleDateString()} às ${new Date(
currentRegistrationPeriod.end
).toLocaleTimeString()}`}
</Text>
</Center>
)}
</Container>
<Footer />
</Flex>
Expand Down
Loading

1 comment on commit aabc685

@vercel
Copy link

@vercel vercel bot commented on aabc685 Dec 14, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Successfully deployed to the following URLs:

matriculai – ./frontend

matriculai.vercel.app
matriculai-matriculai.vercel.app
matriculai-git-main-matriculai.vercel.app

Please sign in to comment.