From dddf0b218af6eaf838e95e8dec0276d111e23e81 Mon Sep 17 00:00:00 2001 From: Mateus Riff Date: Mon, 16 Dec 2024 01:22:59 -0300 Subject: [PATCH] Add recruitment ("seletiva") page and section Squash and merge the following commits into develop: * feat: add recruitment ('seletiva') page and section * build: fix build error * fix: link to 'edital' --- public/locales/en/index.js | 9 ++ public/locales/pt-BR/index.js | 9 ++ .../Home/Recruitment/Recruitment.styles.ts | 31 ++++ src/components/Home/Recruitment/index.tsx | 17 ++ src/components/Navbar/index.tsx | 4 + src/components/Recruitment/styles.ts | 44 +++++ src/components/index.ts | 2 + src/pages/index.tsx | 10 +- src/pages/seletiva/index.tsx | 151 ++++++++++++++++++ 9 files changed, 276 insertions(+), 1 deletion(-) create mode 100644 src/components/Home/Recruitment/Recruitment.styles.ts create mode 100644 src/components/Home/Recruitment/index.tsx create mode 100644 src/components/Recruitment/styles.ts create mode 100644 src/pages/seletiva/index.tsx diff --git a/public/locales/en/index.js b/public/locales/en/index.js index 2ad90d5..e694c2d 100644 --- a/public/locales/en/index.js +++ b/public/locales/en/index.js @@ -5,6 +5,7 @@ const en = { categories: 'Categories', team: 'Team', papers: 'Publications', + recruitment: 'Recruitment', }, }, footer: { @@ -190,6 +191,10 @@ const en = { }, ], }, + recruitment: { + recruiting: "We're recruiting new members!", + cta: 'Learn more', + }, activities: { competitions_card: { title: 'Competitions', @@ -273,6 +278,10 @@ const en = { }, }, }, + recruitment_page: { + header: "We're recruiting new members!", + cta: 'Apply now!', + }, } export default en diff --git a/public/locales/pt-BR/index.js b/public/locales/pt-BR/index.js index cc08a92..166550e 100644 --- a/public/locales/pt-BR/index.js +++ b/public/locales/pt-BR/index.js @@ -5,6 +5,7 @@ const ptBR = { categories: 'Categorias', team: 'Equipe', papers: 'Publicações', + recruitment: 'Seletiva', }, }, footer: { @@ -200,6 +201,10 @@ const ptBR = { }, ], }, + recruitment: { + recruiting: 'Estamos selecionando novos membros!', + cta: 'Veja mais', + }, activities: { competitions_card: { title: 'Competições', @@ -288,6 +293,10 @@ const ptBR = { }, }, }, + recruitment_page: { + header: 'Estamos selecionando novos membros!', + cta: 'Candidate-se agora!', + }, } export default ptBR diff --git a/src/components/Home/Recruitment/Recruitment.styles.ts b/src/components/Home/Recruitment/Recruitment.styles.ts new file mode 100644 index 0000000..0abdd0d --- /dev/null +++ b/src/components/Home/Recruitment/Recruitment.styles.ts @@ -0,0 +1,31 @@ +import styled from 'styled-components' + +import Link from 'next/link' +import styles from '@/styles/styles' + +export const Container = styled.section` + width: 100%; + height: 300px; + background-color: ${styles.colors.primary}; + color: ${styles.colors.white}; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + gap: 48px; + + h1 { + font-size: 32px; + } +` + +export const ApplicationCTA = styled(Link)` + padding: 24px 50px; + border-radius: 36px; + font-size: 22px; + border: none; + color: ${styles.colors.primary}; + background-color: ${styles.colors.white}; + font-weight: ${styles.fontWeights.bold}; + cursor: pointer; +` diff --git a/src/components/Home/Recruitment/index.tsx b/src/components/Home/Recruitment/index.tsx new file mode 100644 index 0000000..f4f1360 --- /dev/null +++ b/src/components/Home/Recruitment/index.tsx @@ -0,0 +1,17 @@ +import * as S from './Recruitment.styles' +import useTranslation from '@/hooks/useTranslation' + +function Recruitment() { + const t = useTranslation() + + return ( + +

{t.home.recruitment.recruiting}

+ + {t.home.recruitment.cta} + +
+ ) +} + +export default Recruitment diff --git a/src/components/Navbar/index.tsx b/src/components/Navbar/index.tsx index af84a6c..a29e37d 100644 --- a/src/components/Navbar/index.tsx +++ b/src/components/Navbar/index.tsx @@ -25,6 +25,10 @@ const Navbar = () => { label: t.navbar.options.papers, link: '/publications', }, + { + label: t.navbar.options.recruitment, + link: '/seletiva', + }, ] const languages = [ diff --git a/src/components/Recruitment/styles.ts b/src/components/Recruitment/styles.ts new file mode 100644 index 0000000..2ce9fa0 --- /dev/null +++ b/src/components/Recruitment/styles.ts @@ -0,0 +1,44 @@ +import styled from 'styled-components' +import Image from 'next/image' + +import styles from '@/styles/styles' +import Link from 'next/link' + +export const Container = styled.div` + padding: 150px 30px 40px; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; +` + +export const BannerImage = styled(Image)` + width: 100%; + height: 700px; + object-fit: cover; + display: block; +` + +export const ApplicationLink = styled(Link)` + padding: 20px 40px; + border-radius: 36px; + font-size: 22px; + border: none; + margin: 40px 0 20px; + color: ${styles.colors.white}; + background-color: ${styles.colors.primary}; + cursor: pointer; +` + +export const FaqContainer = styled.section` + max-width: 600px; + font-size: ${styles.fontSizes.md}; + + ul { + list-style: none; + } + + li { + margin: 16px 0; + } +` diff --git a/src/components/index.ts b/src/components/index.ts index c556bfc..26ad1c4 100644 --- a/src/components/index.ts +++ b/src/components/index.ts @@ -7,6 +7,7 @@ import Activities from './Home/Activities' import AboutUs from './Home/AboutUs' import Sponsors from './Home/Sponsors' import Banner from './Home/Bannerv3' +import Recruitment from './Home/Recruitment' export { Navbar, @@ -17,4 +18,5 @@ export { AboutUs, Sponsors, Banner, + Recruitment, } diff --git a/src/pages/index.tsx b/src/pages/index.tsx index cda9280..1e344a3 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -2,7 +2,14 @@ import React from 'react' import useTranslation from '@/hooks/useTranslation' -import { Footer, Activities, AboutUs, Sponsors, Banner } from '@/components' +import { + Footer, + Activities, + AboutUs, + Sponsors, + Banner, + Recruitment, +} from '@/components' import * as S from '../styles/home.styles' @@ -13,6 +20,7 @@ export default function Home() { + diff --git a/src/pages/seletiva/index.tsx b/src/pages/seletiva/index.tsx new file mode 100644 index 0000000..dd4df7b --- /dev/null +++ b/src/pages/seletiva/index.tsx @@ -0,0 +1,151 @@ +import useTranslation from '@/hooks/useTranslation' + +import { Footer } from '@/components' + +import { PageWrap, ContentWrap } from '../../styles/pages.styles' + +import * as S from '../../components/Recruitment/styles' +import Link from 'next/link' + +const RecruitmentPage = () => { + const t = useTranslation() + + return ( + + + +

{t.recruitment_page.header}

+ + {t.recruitment_page.cta} + + + Confira o edital + +
+

Perguntas Frequentes

+ +
+
    +
  • + Pergunta: Estou no começo do curso e não possuo + conhecimento na área, consigo participar? +

    + Resposta: Sim! +

    +
  • +
  • + Pergunta: Estou no ensino superior mas não faço parte + da UFPE, posso me inscrever? +

    + Resposta: Infelizmente não. +

    +
  • +
  • + Pergunta: O projeto envolve bolsa? +

    + Resposta: O RobôCIn não oferece bolsa para membros da + equipe. Entretanto, é possível desenvolver projetos de + pesquisa e iniciação científica dentro da equipe com os + professores orientadores que podem concorrer a bolsas em + órgãos de incentivo. +

    +
  • +
  • + Pergunta: Quantas vagas temos? +

    + Resposta: Não temos um número fixo de vagas, vai + depender do desempenho das pessoas candidatas e da demanda + da equipe. +

    +
  • +
  • + Pergunta: Quais são as áreas de atuação? +

    + Resposta: Temos as áreas de Comunicação, Mecânica, + Eletrônica, Embarcados e Software. +

    +
  • +
  • + Pergunta: Escolhi na inscrição que queria fazer parte + da área X, posso fazer um projeto da área Y? +

    + Resposta: Não, escolhemos ter um projeto de cada área + com a finalidade de suprir as necessidades da equipe. A + robótica envolve diversos conhecimentos, levando cada membro + a trabalhar em diversas áreas com o tempo, mas temos a + expectativa de que, caso ingresse no RobôCIn, a pessoa + candidata inicialmente trabalhará na área escolhida. +

    +
  • +
  • + Pergunta: O projeto tem carga horária obrigatória? +

    + Resposta: Somos bem flexíveis quanto ao horário, pois + existem semanas de provas e projetos, mas tentamos manter 2 + turnos de dedicação por semana. +

    +
  • +
  • + Pergunta: A partir de qual período posso me inscrever? +

    + Resposta: Aceitamos alunos de qualquer período, sendo + assim, não existe nenhuma restrição. +

    +
  • +
  • + Pergunta: Como funciona o processo seletivo? +

    + Resposta: O processo seletivo é dividido em 05 fases: + inscrição, semana de lançamento, projeto individual, + entrevista e trainee. Avaliamos a pessoa candidata a partir + das informações fornecidas na inscrição, da participação e + engajamento no desenvolvimento do projeto individual, pelo + alinhamento na entrevista e também pelo empenho no trainee. +

    +
  • +
  • + Pergunta: Como faço para entrar no Discord da seletiva? +

    + Resposta: Fique atento ao e-mail fornecido no + formulário de inscrição; enviaremos o convite por ele. +

    +
  • +
  • + Pergunta: Como sei se fui aprovado(a) ou não? +

    + Resposta: Fique atento ao e-mail fornecido no + formulário de inscrição; enviaremos o resultado por ele. +

    +
  • +
+

+ Ficou com alguma dúvida que não foi respondida? Entre em contato + com a gente! +

+
    +
  • Instagram: @robocinufpe
  • +
  • E-mail: robocin@cin.ufpe.br
  • +
+
+
+
+
+