diff --git a/README.md b/README.md index ea3536d..33c771a 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ # Opal -[![Build Status](https://travis-ci.org/cesium/opal-node.svg?branch=master)](https://travis-ci.org/cesium/opal-node) +[![Build Status](https://travis-ci.org/cesium/opal.svg?branch=master)](https://travis-ci.org/cesium/opal) NextJS Web App for the Badge Platform for CeSIUM's Computer Engineering Week event. diff --git a/components/Footer.js b/components/Footer.js index 2b84670..3c4d59c 100644 --- a/components/Footer.js +++ b/components/Footer.js @@ -35,7 +35,7 @@ const Copyright = () => ( {' by '} - CeSIUM + <>CeSIUM . @@ -75,13 +75,13 @@ const Footer = ({ color={theme.palette.text.title} href="/docs/survival-guide.pdf" > - Survival Guide + <>Survival Guide      - Code of Conduct + <>Code of Conduct diff --git a/components/SEO.js b/components/SEO.js index 182ab09..105eb70 100644 --- a/components/SEO.js +++ b/components/SEO.js @@ -24,7 +24,7 @@ const SEO = ({ event, social }) => ( - + diff --git a/components/Speaker.js b/components/Speaker.js index c2f8c2d..2b5074b 100644 --- a/components/Speaker.js +++ b/components/Speaker.js @@ -1,4 +1,4 @@ -import React from 'react'; +import React, { useState } from 'react'; import { styled } from '@material-ui/core/styles'; import { Card, @@ -76,7 +76,7 @@ function Speaker({ title, shortbio, }) { - const [expanded, setExpanded] = React.useState(false); + const [expanded, setExpanded] = useState(false); const handleExpandClick = () => { setExpanded(!expanded); diff --git a/components/homepage/About.js b/components/homepage/About.js index 659acd3..1f8ce6f 100644 --- a/components/homepage/About.js +++ b/components/homepage/About.js @@ -1,4 +1,4 @@ -import React from 'react'; +import React, { useState } from 'react'; import { styled } from '@material-ui/core/styles'; import IconButton from '@material-ui/core/IconButton'; import VolumeOffRoundedIcon from '@material-ui/icons/VolumeOffRounded'; @@ -29,7 +29,7 @@ const StyledIconButton = styled(IconButton)(({ hover }) => ({ })); function About({ url, thumbnail }) { - const [muted, setMuted] = React.useState(true); + const [muted, setMuted] = useState(true); const handleButton = () => { if (muted) setMuted(false); else setMuted(true); diff --git a/components/homepage/HowToGetHere.js b/components/homepage/HowToGetHere.js index 842f029..e7c9b79 100644 --- a/components/homepage/HowToGetHere.js +++ b/components/homepage/HowToGetHere.js @@ -1,4 +1,4 @@ -import React from 'react'; +import React, { useState } from 'react'; import { styled } from '@material-ui/core/styles'; import { Grid, @@ -61,7 +61,7 @@ const MeanHeader = styled(Grid)({ }); function Mean({ title, desc }) { - const [expanded, setExpanded] = React.useState(false); + const [expanded, setExpanded] = useState(false); const handleExpandClick = () => { setExpanded(!expanded); diff --git a/components/homepage/TextAbout.js b/components/homepage/TextAbout.js index 356eb35..4489857 100644 --- a/components/homepage/TextAbout.js +++ b/components/homepage/TextAbout.js @@ -1,4 +1,4 @@ -import React from 'react'; +import React, { useState, useEffect } from 'react'; import { styled } from '@material-ui/core/styles'; import { Typography, Paper } from '@material-ui/core'; import PropTypes from 'prop-types'; @@ -24,10 +24,10 @@ const MessageTypography = styled(Typography)(({ color }) => ({ })); function TextAbout({ messages, messageColor, backgroundColor, paperColor }) { - const [ticks, setTicks] = React.useState(0); + const [ticks, setTicks] = useState(0); const message = messages[ticks]; - React.useEffect(() => { + useEffect(() => { const interval = setInterval(() => { setTicks((t) => (t + 1) % messages.length); }, 2000); @@ -35,7 +35,7 @@ function TextAbout({ messages, messageColor, backgroundColor, paperColor }) { return () => { clearInterval(interval); }; - }, []); + }, [messages.length]); return ( { setModalNickname(false); - }); + }, []); return ( <> diff --git a/components/navbar/BurgerButton.js b/components/navbar/BurgerButton.js index 6862e13..6a8c68b 100644 --- a/components/navbar/BurgerButton.js +++ b/components/navbar/BurgerButton.js @@ -1,4 +1,4 @@ -import React from 'react'; +import React, { useState } from 'react'; import { Box, Drawer, @@ -60,7 +60,7 @@ const MoonstoneOptions = () => { function BurgerButton() { const classes = useStyles(); - const [open, setOpen] = React.useState(false); + const [open, setOpen] = useState(false); const handleClick = () => { if (open) { @@ -80,7 +80,7 @@ function BurgerButton() { {global.navbar.pages.map((page) => ( - + diff --git a/components/navbar/NavBar.js b/components/navbar/NavBar.js index 5e25c58..96fc22e 100644 --- a/components/navbar/NavBar.js +++ b/components/navbar/NavBar.js @@ -95,7 +95,7 @@ export default function ButtonAppBar() { {global.navbar.pages .map((page) => ( - + {page.name} diff --git a/data/global.json b/data/global.json index 58ca670..b10019d 100644 --- a/data/global.json +++ b/data/global.json @@ -24,6 +24,7 @@ { "name": "Agenda", "link": "/agenda" }, { "name": "Oradores", "link": "/speakers" }, { "name": "Desafios e Prémios", "link": "/challenges" }, + { "name": "Equipa", "link": "/team" }, { "name": "Embaixadores", "link": "/ambassadors" }, { "name": "Candidaturas", "link": "/applications" }, { "name": "FAQs", "link": "/faqs" }, diff --git a/data/team.json b/data/team.json new file mode 100644 index 0000000..d3dbb97 --- /dev/null +++ b/data/team.json @@ -0,0 +1,320 @@ +[ + { + "team": "Coordenação Geral", + "elements": [ + { + "name": "Catarina Machado", + "facebook": "catarinaamachado", + "twitter": "", + "github": "catarinamachado", + "linkedin": "catarinaamachado", + "img": "catarina_machado.jpg" + }, + { + "name": "Francisco Lira", + "facebook": "", + "twitter": "", + "github": "FranciscoLira", + "linkedin": "", + "img": "francisco_lira.jpg" + }, + { + "name": "Nelson Estevão", + "facebook": "", + "twitter": "nelsonmestevao", + "github": "nelsonmestevao", + "linkedin": "nelsonmestevao", + "img": "nelson_estevao.jpg" + }, + { + "name": "Sérgio Costa", + "facebook": "", + "twitter": "", + "github": "a-sac", + "linkedin": "", + "img": "sergio_costa.jpg" + } + ] + }, + { + "team": "Tesouraria", + "elements": [ + { + "name": "João Vilaça", + "facebook": "", + "twitter": "", + "github": "machadovilaca", + "linkedin": "machadovilaca", + "img": "joao_vilaca.jpg" + } + ] + }, + { + "team": "Marketing e Comunicação", + "elements": [ + { + "name": "Beatriz Rocha", + "facebook": "beatrizfr.rocha", + "twitter": "", + "github": "beatrizfrocha", + "linkedin": "beatriz-rocha-33005a159", + "img": "beatriz_rocha.jpg" + }, + { + "name": "Rafaela Rodrigues", + "facebook": "", + "twitter": "", + "github": "rafaelacrr", + "linkedin": "rafaelacrr", + "img": "rafaela_rodrigues.jpg" + } + ] + }, + { + "team": "Tecnologia", + "elements": [ + { + "name": "Miguel Brandão", + "facebook": "mickael.a.brandao", + "twitter": "", + "github": "miguelbrandao", + "linkedin": "miguel-a-brandao", + "img": "miguel_brandao.jpg" + }, + { + "name": "Pedro Ferreira", + "facebook": "", + "twitter": "", + "github": "PedroFerr101", + "linkedin": "pedrom-ferreira", + "img": "pedro_ferreira.jpg" + }, + { + "name": "Luís Alves", + "facebook": "", + "twitter": "", + "github": "alves-luis", + "linkedin": "alves-luis", + "img": "luis_alves.jpg" + }, + { + "name": "Bruno Martins", + "facebook": "", + "twitter": "", + "github": "brunomartins11", + "linkedin": "", + "img": "bruno_martins.jpg" + }, + { + "name": "Daniel Tinoco", + "facebook": "", + "twitter": "", + "github": "0urobor0s", + "linkedin": "", + "img": "daniel_tinoco.jpg" + }, + { + "name": "Henrique Pereira", + "facebook": "", + "twitter": "", + "github": "hpereira98", + "linkedin": "", + "img": "henrique_pereira.jpg" + }, + { + "name": "João Silva", + "facebook": "joaosilva9898", + "twitter": "", + "github": "joaop21", + "linkedin": "joãopedro-silva", + "img": "joao_silva.jpg" + }, + { + "name": "José Resende", + "facebook": "", + "twitter": "", + "github": "ZePedroResende", + "linkedin": "", + "img": "jose_resende.jpg" + }, + { + "name": "Rui Costa", + "facebook": "", + "twitter": "", + "github": "RuidsCosta", + "linkedin": "", + "img": "rui_costa.jpg" + } + ] + }, + { + "team": "Imagem", + "elements": [ + { + "name": "José Ferreira", + "facebook": "", + "twitter": "", + "github": "JoseFilipeFerreira", + "linkedin": "", + "img": "jose_ferreira.jpg" + }, + { + "name": "Luis Araújo", + "facebook": "", + "instagram": "luis_araujo_966", + "twitter": "", + "github": "", + "linkedin": "", + "img": "luis_araujo.jpg" + }, + { + "name": "Maria Pires", + "facebook": "", + "twitter": "", + "github": "mariajbp", + "linkedin": "mariajbp", + "img": "maria_pires.jpg" + }, + { + "name": "Miguel Solino", + "facebook": "", + "twitter": "", + "github": "manilator", + "linkedin": "", + "img": "miguel_solino.jpg" + } + ] + }, + { + "team": "Apoios e Patrocínios", + "elements": [ + { + "name": "Inês Alves", + "facebook": "ines.amorim.alves", + "twitter": "", + "github": "ineesalvees", + "linkedin": "ineesalvees", + "img": "ines_alves.jpg" + }, + { + "name": "Joel Gama", + "facebook": "joel.gama.37", + "twitter": "", + "github": "JoelGama", + "linkedin": "joelgama", + "img": "joel_gama.jpg" + }, + { + "name": "Rafaela Pinho", + "facebook": "rafaela.pinho.566", + "twitter": "", + "github": "", + "linkedin": "rafaela-pinto-de-pinho-5649a5195", + "img": "rafaela_pinho.jpg" + } + ] + }, + { + "team": "Animação", + "elements": [ + { + "name": "Nuno Silva", + "facebook": "25mineiro", + "twitter": "", + "github": "mineiro25", + "linkedin": "", + "img": "nuno_silva.jpg" + }, + { + "name": "Pedro Pinto", + "facebook": "pedro.pinto.packman", + "twitter": "", + "github": "pedromendespinto", + "linkedin": "pedromendespinto", + "img": "pedro_pinto_packman.jpg" + }, + { + "name": "Tânia Rocha", + "facebook": "", + "twitter": "", + "github": "taniafilipa33", + "linkedin": "", + "img": "tania_rocha.jpg" + } + ] + }, + { + "team": "Logística", + "elements": [ + { + "name": "Bárbara Cardoso", + "facebook": "", + "twitter": "", + "github": "barbara29", + "linkedin": "", + "img": "barbara_cardoso.jpg" + }, + { + "name": "António Barbosa", + "facebook": "", + "twitter": "", + "github": "apedrob", + "linkedin": "", + "img": "antonio_barbosa.jpg" + }, + { + "name": "Francisco Costa", + "facebook": "", + "twitter": "", + "github": "xicon73", + "linkedin": "", + "img": "francisco_costa.jpg" + }, + { + "name": "Pedro Lima", + "facebook": "", + "twitter": "", + "github": "Eddy32", + "linkedin": "", + "img": "pedro_lima.jpg" + }, + { + "name": "Sofia Pereira", + "facebook": "", + "twitter": "", + "github": "sofiapereiraGIT", + "linkedin": "", + "img": "sofia_pereira.jpg" + } + ] + }, + { + "team": "Programa", + "elements": [ + { + "name": "Henrique Faria", + "facebook": "", + "twitter": "", + "github": "henriquejosefaria", + "linkedin": "", + "img": "henrique_faria.jpg" + }, + { + "name": "Mariana Fernandes", + "facebook": "", + "twitter": "", + "github": "mariana-kikloki", + "linkedin": "", + "img": "mariana_fernandes.jpg" + }, + { + "name": "Paulo Barbosa", + "facebook": "", + "twitter": "", + "github": "pbarbosa-gh", + "linkedin": "", + "img": "paulo_barbosa.jpg" + } + ] + } +] diff --git a/pages/badgedex.js b/pages/badgedex.js index 0118ea4..f026d32 100644 --- a/pages/badgedex.js +++ b/pages/badgedex.js @@ -1,4 +1,4 @@ -import React from 'react'; +import React, { Component } from 'react'; import { Grid, Typography, @@ -55,7 +55,7 @@ const badgeTypes = [ { typeNumber: 8, text: 'Outros' }, ]; -class BadgeDex extends React.Component { +class BadgeDex extends Component { constructor(props) { super(props); this.state = { diff --git a/pages/leaderboard.js b/pages/leaderboard.js index 883964b..d417609 100644 --- a/pages/leaderboard.js +++ b/pages/leaderboard.js @@ -1,5 +1,5 @@ /* eslint-disable no-nested-ternary */ -import React from 'react'; +import React, { Component } from 'react'; import { Grid, Avatar, @@ -12,7 +12,6 @@ import { import { styled } from '@material-ui/styles'; import fetch from 'isomorphic-unfetch'; import Slider from 'react-slick'; -// import Router from 'next/router'; import PropTypes from 'prop-types'; import MoonstoneLayout from '../components/moonstone/MoonstoneLayout'; import theme from '../components/theme'; @@ -274,7 +273,7 @@ const LeaderboardTable = ({ users, userId, pageSize, mobile }) => { ); }; -class Leaderboard extends React.Component { +class Leaderboard extends Component { constructor(props) { super(props); this.state = { diff --git a/pages/login.js b/pages/login.js index 292ac54..57e56ed 100644 --- a/pages/login.js +++ b/pages/login.js @@ -17,7 +17,7 @@ const StyledTypography = styled(Typography)({ const Login = () => { const [errorMsg, setErrorMsg] = useState(''); - const [isLoading, setIsLoading] = React.useState(false); + const [isLoading, setIsLoading] = useState(false); const [isUserValid, setIsUserValid] = useState(true); @@ -33,7 +33,7 @@ const Login = () => { }, []); const useSignInForm = (callback) => { - const [email, setEmail] = React.useState(''); + const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); const handleSubmit = (event) => { if (event) { @@ -77,8 +77,7 @@ const Login = () => { }) .then( (res) => res.json(), - (err) => { - console.log(err); + () => { pushErrorPage('Unauthorized', 'login_user_valid'); }, ) @@ -95,8 +94,7 @@ const Login = () => { setErrorMsg('Invalid email or password'); } }, - (err) => { - console.log(err); + () => { pushErrorPage('Unauthorized', 'login_user_valid_2'); }, ); diff --git a/pages/password_recovery.js b/pages/password_recovery.js index 13dec94..c468642 100644 --- a/pages/password_recovery.js +++ b/pages/password_recovery.js @@ -23,10 +23,10 @@ export default function RecoverPassword() { setIsUserValid(userValid); if (userValid) router.push('/404'); }); - }, []); + }, [router]); const useResetForm = (callback) => { - const [email, setEmail] = React.useState(''); + const [email, setEmail] = useState(''); const handleSubmit = (event) => { if (event) { event.preventDefault(); diff --git a/pages/reset.js b/pages/reset.js index f17c13e..de91cf2 100644 --- a/pages/reset.js +++ b/pages/reset.js @@ -27,10 +27,10 @@ export default function Reset() { } else { setIsUserValid(false); } - }, []); + }, [router]); const useResetForm = (callback) => { - const [inputs, setInputs] = React.useState({ + const [inputs, setInputs] = useState({ password: '', // eslint-disable-next-line camelcase password_confirmation: '', diff --git a/pages/signup.js b/pages/signup.js index 96d9604..fdf1309 100644 --- a/pages/signup.js +++ b/pages/signup.js @@ -15,8 +15,8 @@ import { pushErrorPage } from '../utils/errorManagement'; export default function SignUp() { const router = useRouter(); - const [errorMsg, setErrorMsg] = React.useState(''); - const [isLoading, setIsLoading] = React.useState(false); + const [errorMsg, setErrorMsg] = useState(''); + const [isLoading, setIsLoading] = useState(false); const [isUserValid, setIsUserValid] = useState(true); @@ -32,13 +32,13 @@ export default function SignUp() { }, []); const useSignUpForm = (callback) => { - const [attendee, setAttendee] = React.useState({ + const [attendee, setAttendee] = useState({ id: router.query.id, nickname: '', firstName: '', lastName: '', }); - const [inputs, setInputs] = React.useState({ + const [inputs, setInputs] = useState({ email: '', password: '', // eslint-disable-next-line camelcase diff --git a/pages/team.js b/pages/team.js new file mode 100644 index 0000000..699805c --- /dev/null +++ b/pages/team.js @@ -0,0 +1,63 @@ +import React from 'react'; +import { styled } from '@material-ui/styles'; +import { Grid, Box } from '@material-ui/core'; +import Layout from '../components/Layout'; +import TopSection from '../components/TopSection'; +import Person from '../components/Person'; +import Title from '../components/Title'; +import theme from '../components/theme'; +import team from '../data/team.json'; + +const StyledBox = styled(Box)({ + position: 'relative', + paddingBottom: '100px', + overflow: 'hidden', + backgroundColor: theme.palette.secondary.light, +}); + +const StyledGrid = styled(Grid)({ + paddingTop: '20px', + paddingLeft: '15%', + paddingRight: '15%', +}); + +const Team = () => ( + + + + {team.map((dept) => ( + <> + + <StyledGrid + container + direction="row" + justify="center" + alignItems="flexitem-start" + spacing={5} + > + {dept.elements.map((elem) => ( + <Grid item xs={11} sm={6} md={4} lg={3}> + <Person + name={elem.name} + img={`/img/team/${elem.img}`} + facebook={elem.facebook} + instagram={elem.instagram} + twitter={elem.twitter} + linkedin={elem.linkedin} + github={elem.github} + /> + </Grid> + ))} + </StyledGrid> + </> + ))} + </StyledBox> + </Layout> +); + +export default Team; diff --git a/public/img/team/antonio_barbosa.jpg b/public/img/team/antonio_barbosa.jpg new file mode 100644 index 0000000..70989f9 Binary files /dev/null and b/public/img/team/antonio_barbosa.jpg differ diff --git a/public/img/team/beatriz_rocha.jpg b/public/img/team/beatriz_rocha.jpg new file mode 100644 index 0000000..9c1bb7e Binary files /dev/null and b/public/img/team/beatriz_rocha.jpg differ diff --git a/public/img/team/bruno_martins.jpg b/public/img/team/bruno_martins.jpg new file mode 100644 index 0000000..525b644 Binary files /dev/null and b/public/img/team/bruno_martins.jpg differ diff --git a/public/img/team/catarina_machado.jpg b/public/img/team/catarina_machado.jpg new file mode 100644 index 0000000..cbcf78d Binary files /dev/null and b/public/img/team/catarina_machado.jpg differ diff --git a/public/img/team/daniel_tinoco.jpg b/public/img/team/daniel_tinoco.jpg new file mode 100644 index 0000000..075b55c Binary files /dev/null and b/public/img/team/daniel_tinoco.jpg differ diff --git a/public/img/team/francisco_costa.jpg b/public/img/team/francisco_costa.jpg new file mode 100644 index 0000000..b755b02 Binary files /dev/null and b/public/img/team/francisco_costa.jpg differ diff --git a/public/img/team/francisco_lira.jpg b/public/img/team/francisco_lira.jpg new file mode 100644 index 0000000..db24448 Binary files /dev/null and b/public/img/team/francisco_lira.jpg differ diff --git a/public/img/team/henrique_faria.jpg b/public/img/team/henrique_faria.jpg new file mode 100644 index 0000000..4ea7e6f Binary files /dev/null and b/public/img/team/henrique_faria.jpg differ diff --git a/public/img/team/henrique_pereira.jpg b/public/img/team/henrique_pereira.jpg new file mode 100644 index 0000000..9b66cfd Binary files /dev/null and b/public/img/team/henrique_pereira.jpg differ diff --git a/public/img/team/ines_alves.jpg b/public/img/team/ines_alves.jpg new file mode 100644 index 0000000..3af728c Binary files /dev/null and b/public/img/team/ines_alves.jpg differ diff --git a/public/img/team/joao_silva.jpg b/public/img/team/joao_silva.jpg new file mode 100644 index 0000000..92acf27 Binary files /dev/null and b/public/img/team/joao_silva.jpg differ diff --git a/public/img/team/joao_vilaca.jpg b/public/img/team/joao_vilaca.jpg new file mode 100644 index 0000000..058a35a Binary files /dev/null and b/public/img/team/joao_vilaca.jpg differ diff --git a/public/img/team/joel_gama.jpg b/public/img/team/joel_gama.jpg new file mode 100644 index 0000000..0b37b36 Binary files /dev/null and b/public/img/team/joel_gama.jpg differ diff --git a/public/img/team/jose_ferreira.jpg b/public/img/team/jose_ferreira.jpg new file mode 100644 index 0000000..28d85f8 Binary files /dev/null and b/public/img/team/jose_ferreira.jpg differ diff --git a/public/img/team/jose_resende.jpg b/public/img/team/jose_resende.jpg new file mode 100644 index 0000000..9455e69 Binary files /dev/null and b/public/img/team/jose_resende.jpg differ diff --git a/public/img/team/luis_alves.jpg b/public/img/team/luis_alves.jpg new file mode 100644 index 0000000..6c3832c Binary files /dev/null and b/public/img/team/luis_alves.jpg differ diff --git a/public/img/team/mariana_fernandes.jpg b/public/img/team/mariana_fernandes.jpg new file mode 100644 index 0000000..e24a727 Binary files /dev/null and b/public/img/team/mariana_fernandes.jpg differ diff --git a/public/img/team/miguel_brandao.jpg b/public/img/team/miguel_brandao.jpg new file mode 100644 index 0000000..bc6451f Binary files /dev/null and b/public/img/team/miguel_brandao.jpg differ diff --git a/public/img/team/miguel_solino.jpg b/public/img/team/miguel_solino.jpg new file mode 100644 index 0000000..64d7491 Binary files /dev/null and b/public/img/team/miguel_solino.jpg differ diff --git a/public/img/team/nelson_estevao.jpg b/public/img/team/nelson_estevao.jpg new file mode 100644 index 0000000..9cc4fb6 Binary files /dev/null and b/public/img/team/nelson_estevao.jpg differ diff --git a/public/img/team/nuno_silva.jpg b/public/img/team/nuno_silva.jpg new file mode 100644 index 0000000..50ded6e Binary files /dev/null and b/public/img/team/nuno_silva.jpg differ diff --git a/public/img/team/paulo_barbosa.jpg b/public/img/team/paulo_barbosa.jpg new file mode 100644 index 0000000..859aa3f Binary files /dev/null and b/public/img/team/paulo_barbosa.jpg differ diff --git a/public/img/team/pedro_ferreira.jpg b/public/img/team/pedro_ferreira.jpg new file mode 100644 index 0000000..80a4fbd Binary files /dev/null and b/public/img/team/pedro_ferreira.jpg differ diff --git a/public/img/team/pedro_lima.jpg b/public/img/team/pedro_lima.jpg new file mode 100644 index 0000000..d36634a Binary files /dev/null and b/public/img/team/pedro_lima.jpg differ diff --git a/public/img/team/pedro_pinto_packman.jpg b/public/img/team/pedro_pinto_packman.jpg new file mode 100644 index 0000000..67bff2c Binary files /dev/null and b/public/img/team/pedro_pinto_packman.jpg differ diff --git a/public/img/team/rafaela_rodrigues.jpg b/public/img/team/rafaela_rodrigues.jpg new file mode 100644 index 0000000..037dc8a Binary files /dev/null and b/public/img/team/rafaela_rodrigues.jpg differ diff --git a/public/img/team/rui_costa.jpg b/public/img/team/rui_costa.jpg new file mode 100644 index 0000000..c746357 Binary files /dev/null and b/public/img/team/rui_costa.jpg differ diff --git a/public/img/team/sergio_costa.jpg b/public/img/team/sergio_costa.jpg new file mode 100644 index 0000000..f3bab96 Binary files /dev/null and b/public/img/team/sergio_costa.jpg differ diff --git a/public/img/team/sofia_pereira.jpg b/public/img/team/sofia_pereira.jpg new file mode 100644 index 0000000..07828b7 Binary files /dev/null and b/public/img/team/sofia_pereira.jpg differ diff --git a/public/img/team/tania_rocha.jpg b/public/img/team/tania_rocha.jpg new file mode 100644 index 0000000..c4102c8 Binary files /dev/null and b/public/img/team/tania_rocha.jpg differ