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) => (
+ <>
+
+
+ {dept.elements.map((elem) => (
+
+
+
+ ))}
+
+ >
+ ))}
+
+
+);
+
+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