feat: static site
* feat: mui support & basic theming * feat: entgamers favicon * feat: public images until dynamic content can be used * feat: entgamers & gaming assets * feat: eslint extra rules * feat: mui theme modifications * feat: fontawesome, gsap, bundle analyzer * feat: common interfaces * feat: basic layout * chore: upadted dependencies * chore: updated dependencies * feat: updated link styles * feat: layout now have better interfaces * feat: basic seo component * feat: static website * feat: env variable rules in .gitignore * feat: added lint to pre-commit
This commit is contained in:
@@ -0,0 +1,228 @@
|
||||
import { Box, Button, Typography } from '@mui/material'
|
||||
import { GetStaticProps, InferGetStaticPropsType } from 'next'
|
||||
import NextLink from 'next/link'
|
||||
import { FC } from 'react'
|
||||
|
||||
import ProfileCard, { ProfileCardProps } from '@components/profiles/ProfileCard'
|
||||
import Contained from '@components/layouts/Contained'
|
||||
import Seo from '@components/Seo'
|
||||
import { EquipoPageProps } from '@interfaces'
|
||||
|
||||
export const getStaticProps: GetStaticProps<EquipoPageProps> = async () => {
|
||||
return {
|
||||
props: {
|
||||
seo: {
|
||||
title: 'Equipo',
|
||||
description: ''
|
||||
},
|
||||
title: 'Equipo',
|
||||
description: 'El equipo de EntGamers está formado por personas que se dedican a la administración de la comunidad, a la organización de eventos y a la creación de contenido. EntGamers siempre intenta recompensar a sus miembros más activos, por lo que si quieres formar parte de nuestro equipo, ¡no dudes en contactar con nosotros!',
|
||||
administrationTitle: 'Administradores',
|
||||
administrationDescription: 'Los administradores son quienes se encargan de que todo funcione como es debido en la comunidad, desde la moderación de los grupos hasta la organización de eventos.',
|
||||
moderatorsTitle: 'Moderadores',
|
||||
moderatorsDescription: 'Los moderadores son los encargados de mantener el orden en los grupos de la comunidad, así como de ayudar a los usuarios a resolver sus dudas.',
|
||||
collaboratorsTitle: 'Colaboradores',
|
||||
collaboratorsDescription: 'Los colaboradores son los encargados de crear contenido para la comunidad, como artículos, tutoriales, vídeos, etc.'
|
||||
},
|
||||
revalidate: 300
|
||||
}
|
||||
}
|
||||
|
||||
const Equipo: FC<InferGetStaticPropsType<typeof getStaticProps>> = (
|
||||
{ administrationDescription, administrationTitle, collaboratorsDescription, collaboratorsTitle, description, moderatorsDescription, moderatorsTitle, title, seo }
|
||||
) => {
|
||||
const administrators: ProfileCardProps[] = [
|
||||
{
|
||||
avatar: '/images/team/SrJuggernaut.png',
|
||||
biography: 'Soy desarrollador web y me gusta jugar videojuegos.',
|
||||
userName: 'SrJuggernaut',
|
||||
role: 'admin',
|
||||
socialNetworks: [
|
||||
{ label: 'SrJuggernaut Facebook', socialNetwork: 'facebook', url: 'https://www.facebook.com/SrJuggernaut' },
|
||||
{ label: 'SrJuggernaut Twitter', socialNetwork: 'twitter', url: 'https://twitter.com/SrJuggernaut' },
|
||||
{ label: 'SrJuggernaut Youtube', socialNetwork: 'youtube', url: 'https://youtube.com/juggernautplays' },
|
||||
{ label: 'SrJuggernaut Twitch', socialNetwork: 'twitch', url: 'https://twitch.tv/juggernautplays' },
|
||||
{ label: 'SrJuggernaut Instagram', socialNetwork: 'instagram', url: 'https://www.instagram.com/sr_juggernaut' },
|
||||
{ label: 'SrJuggernaut Sitio web', socialNetwork: 'webpage', url: 'https://srjuggernaut.dev' }
|
||||
]
|
||||
}
|
||||
]
|
||||
const moderators: ProfileCardProps[] = []
|
||||
const collaborators: ProfileCardProps[] = []
|
||||
return (
|
||||
<Contained>
|
||||
<Seo {...seo} />
|
||||
<Typography variant="h1" align="center" gutterBottom >
|
||||
{title}
|
||||
</Typography>
|
||||
<Typography variant="body1">
|
||||
{description}
|
||||
</Typography>
|
||||
<Typography variant="h2" align="center" gutterBottom >
|
||||
{administrationTitle}
|
||||
</Typography>
|
||||
<Typography variant="body1">
|
||||
{administrationDescription}
|
||||
</Typography>
|
||||
<Box
|
||||
sx={{
|
||||
display: 'grid',
|
||||
gridTemplateColumns: 'repeat(auto-fit, minmax(300px, 1fr))',
|
||||
gridGap: '1rem',
|
||||
justifyContent: 'center',
|
||||
justifyItems: 'center',
|
||||
marginBlock: 2
|
||||
}}
|
||||
>
|
||||
{administrators.length > 0
|
||||
? administrators.map(({ avatar, biography, socialNetworks, userName, role }) => (
|
||||
<ProfileCard
|
||||
key={`profile-card-${userName}`}
|
||||
avatar={avatar}
|
||||
biography={biography}
|
||||
socialNetworks={socialNetworks}
|
||||
userName={userName}
|
||||
role={role}
|
||||
/>
|
||||
))
|
||||
|
||||
: (
|
||||
<>
|
||||
<Typography variant="body2" color={(theme) => theme.palette.warning.main } align="center" gutterBottom >
|
||||
Ups, parece que ahora mismo no hay administradores, pero en EntGamers siempre estamos buscando gente que quiera ayudar a la comunidad. si quieres ser administrador, puedes hacer click en el botón de abajo.
|
||||
</Typography>
|
||||
</>
|
||||
)
|
||||
}
|
||||
</Box>
|
||||
<Box
|
||||
sx={{
|
||||
display: 'flex',
|
||||
justifyContent: 'center',
|
||||
justifyItems: 'center',
|
||||
marginBlock: 2
|
||||
}}
|
||||
>
|
||||
<NextLink href="/equipo/unirse" passHref>
|
||||
<Button
|
||||
variant="contained"
|
||||
color="primary"
|
||||
component="a"
|
||||
>
|
||||
Quiero ser administrador
|
||||
</Button>
|
||||
</NextLink>
|
||||
</Box>
|
||||
<Typography variant="h2" align="center" gutterBottom >
|
||||
{moderatorsTitle}
|
||||
</Typography>
|
||||
<Typography variant="body1">
|
||||
{moderatorsDescription}
|
||||
</Typography>
|
||||
<Box
|
||||
sx={{
|
||||
display: 'grid',
|
||||
gridTemplateColumns: 'repeat(auto-fit, minmax(300px, 1fr))',
|
||||
gridGap: '1rem',
|
||||
justifyContent: 'center',
|
||||
justifyItems: 'center',
|
||||
marginBlock: 2
|
||||
}}
|
||||
>
|
||||
{moderators.length > 0
|
||||
? moderators.map(({ avatar, biography, socialNetworks, userName, role }) => (
|
||||
<ProfileCard
|
||||
key={`profile-card-${userName}`}
|
||||
avatar={avatar}
|
||||
biography={biography}
|
||||
socialNetworks={socialNetworks}
|
||||
userName={userName}
|
||||
role={role}
|
||||
/>
|
||||
))
|
||||
: (
|
||||
<>
|
||||
<Typography variant="body2" color={(theme) => theme.palette.warning.main } align="center" gutterBottom >
|
||||
Ups, parece que ahora mismo no hay moderadores, pero en EntGamers siempre estamos buscando gente que quiera ayudar a la comunidad. si quieres ser moderador, puedes hacer click en el botón de abajo.
|
||||
</Typography>
|
||||
</>
|
||||
)
|
||||
}
|
||||
</Box>
|
||||
<Box
|
||||
sx={{
|
||||
display: 'flex',
|
||||
justifyContent: 'center',
|
||||
justifyItems: 'center',
|
||||
marginBlock: 2
|
||||
}}
|
||||
>
|
||||
<NextLink href="/equipo/unirse" passHref>
|
||||
<Button
|
||||
variant="contained"
|
||||
color="primary"
|
||||
component="a"
|
||||
>
|
||||
Quiero ser moderador
|
||||
</Button>
|
||||
</NextLink>
|
||||
</Box>
|
||||
<Typography variant="h2" align="center" gutterBottom >
|
||||
{collaboratorsTitle}
|
||||
</Typography>
|
||||
<Typography variant="body1">
|
||||
{collaboratorsDescription}
|
||||
</Typography>
|
||||
<Box
|
||||
sx={{
|
||||
display: 'grid',
|
||||
gridTemplateColumns: 'repeat(auto-fit, minmax(300px, 1fr))',
|
||||
gridGap: '1rem',
|
||||
justifyContent: 'center',
|
||||
justifyItems: 'center',
|
||||
marginBlock: 2
|
||||
}}
|
||||
>
|
||||
{collaborators.length > 0
|
||||
? collaborators.map(({ avatar, biography, socialNetworks, userName, role }) => (
|
||||
<ProfileCard
|
||||
key={`profile-card-${userName}`}
|
||||
avatar={avatar}
|
||||
biography={biography}
|
||||
socialNetworks={socialNetworks}
|
||||
userName={userName}
|
||||
role={role}
|
||||
/>
|
||||
))
|
||||
: (
|
||||
<>
|
||||
<Typography variant="body2" color={(theme) => theme.palette.warning.main } align="center" gutterBottom >
|
||||
Ups, parece que ahora mismo no hay colaboradores, pero en EntGamers siempre estamos buscando gente que quiera ayudar a la comunidad. si quieres ser colaborador, puedes hacer click en el botón de abajo.
|
||||
</Typography>
|
||||
</>
|
||||
)
|
||||
}
|
||||
</Box>
|
||||
<Box
|
||||
sx={{
|
||||
display: 'flex',
|
||||
justifyContent: 'center',
|
||||
justifyItems: 'center',
|
||||
marginBlock: 2
|
||||
}}
|
||||
>
|
||||
<NextLink href="/equipo/unirse" passHref>
|
||||
<Button
|
||||
variant="contained"
|
||||
color="primary"
|
||||
component="a"
|
||||
>
|
||||
Quiero ser colaborador
|
||||
</Button>
|
||||
</NextLink>
|
||||
</Box>
|
||||
|
||||
</Contained>
|
||||
)
|
||||
}
|
||||
export default Equipo
|
||||
Reference in New Issue
Block a user