feat: eslint update

This commit is contained in:
2023-09-15 12:36:07 -06:00
parent 14b52a7800
commit eb334f6357
43 changed files with 269 additions and 284 deletions
View File
+8
View File
@@ -0,0 +1,8 @@
import { type FC } from 'react'
const RootLayout: FC = () => {
return (
<div>RootLayout</div>
)
}
export default RootLayout
View File
+2 -2
View File
@@ -1,6 +1,6 @@
import { FC, SVGProps } from 'react'
import { type FC, type SVGProps } from 'react'
const SvgComponent:FC<SVGProps<SVGSVGElement>> = (props) => (
const SvgComponent: FC<SVGProps<SVGSVGElement>> = (props) => (
<svg
{...props}
xmlns="http://www.w3.org/2000/svg"
+6 -6
View File
@@ -1,32 +1,32 @@
import Head from 'next/head'
import { FC } from 'react'
import { type FC } from 'react'
export type SeoProps = {
export interface SeoProps {
title?: string
description?: string
image?: string
}
const SITE_NAME = process.env.SITE_NAME || 'EntGamers'
const SITE_NAME = process.env.SITE_NAME ?? 'EntGamers'
const Seo: FC<SeoProps> = ({ title, description, image }) => {
return (
<Head>
{!!title && (
{title !== undefined && (
<>
<title key="title">{`${title} - ${SITE_NAME}`}</title>
<meta key="og_title" property="og:title" content={title} />
<meta key="twitter_title" property="twitter:title" content={title} />
</>
)}
{!!description && (
{description !== undefined && (
<>
<meta key="description" name="description" content={description} />
<meta key="og_description" property="og:description" content={description} />
<meta key="twitter_description" property="twitter:description" content={description} />
</>
)}
{!!image && (
{image !== undefined && (
<>
<meta key="og_image" property="og:image" content={image} />
<meta key="twitter_image" property="twitter:image" content={image} />
+2 -2
View File
@@ -1,10 +1,10 @@
import { Container } from '@mui/material'
import { FC } from 'react'
import { type FC } from 'react'
import Header from '@components/layouts/Header'
import Footer from '@components/layouts/Footer'
import { ContainedProps } from '@interfaces'
import { type ContainedProps } from '@interfaces'
const Contained: FC<ContainedProps> = ({ children }) => {
return (
+5 -5
View File
@@ -1,12 +1,12 @@
import { faAngleRight } from '@fortawesome/free-solid-svg-icons'
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
import { type FooterColumn } from '@interfaces'
import { Container, Paper, Typography } from '@mui/material'
import MuiLink from '@mui/material/Link'
import NextLink from 'next/link'
import { type FC } from 'react'
import { faAngleRight } from '@fortawesome/free-solid-svg-icons'
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
import { FooterColumn } from '@interfaces'
const Footer = () => {
const Footer: FC = () => {
const columns: FooterColumn[] = [
{
title: 'Acerca de',
+10 -12
View File
@@ -1,31 +1,29 @@
import EntGamers from '@assets/logos/EntGamers'
import { faBars } from '@fortawesome/free-solid-svg-icons'
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
import { type Link } from '@interfaces'
import { AppBar, Box, Container, Divider, IconButton, ListItemButton, NoSsr } from '@mui/material'
import dynamic from 'next/dynamic'
import NextLink from 'next/link'
import { useRouter } from 'next/router'
import { useEffect, useState } from 'react'
import { useEffect, useState, type FC } from 'react'
import EntGamers from '@assets/logos/EntGamers'
import { Link } from '@interfaces'
const Drawer = dynamic(() => import('@mui/material/Drawer'), { ssr: false })
const List = dynamic(() => import('@mui/material/List'), { ssr: false })
const ListItemText = dynamic(() => import('@mui/material/ListItemText'), { ssr: false })
const Drawer = dynamic(async () => await import('@mui/material/Drawer'), { ssr: false })
const List = dynamic(async () => await import('@mui/material/List'), { ssr: false })
const ListItemText = dynamic(async () => await import('@mui/material/ListItemText'), { ssr: false })
const MenuItems: Link[] = [
{ label: 'Home', url: '/' },
{ label: 'Clanes', url: '/clanes' }
]
const Header = () => {
const Header: FC = () => {
const [scrolled, setScrolled] = useState(false)
const [openMenu, setOpenMenu] = useState(false)
const router = useRouter()
const handleScroll = () => {
const handleScroll = (): void => {
if (window.scrollY > 15) {
setScrolled(true)
} else {
@@ -86,7 +84,7 @@ const Header = () => {
alignItems: 'center',
aspectRatio: '1'
}}
onClick={() => setOpenMenu(true)}
onClick={() => { setOpenMenu(true) }}
>
<FontAwesomeIcon icon={faBars} size="xs" />
</IconButton>
@@ -96,7 +94,7 @@ const Header = () => {
<NoSsr>
<Drawer
open={openMenu}
onClose={() => setOpenMenu(false)}
onClose={() => { setOpenMenu(false) }}
anchor="right"
>
<Box
@@ -2,16 +2,16 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
import { faChevronRight } from '@fortawesome/free-solid-svg-icons/faChevronRight'
import { Box, NoSsr, Typography } from '@mui/material'
import dynamic from 'next/dynamic'
import { FC } from 'react'
import { type FC } from 'react'
import { PositionJoinTeamProps } from '@interfaces'
import { type PositionJoinTeamProps } from '@interfaces'
const UnirseForm = dynamic(() => import('@components/pages/equipo/unirse/UnirseForm'), {
const UnirseForm = dynamic(async () => await import('@components/pages/equipo/unirse/UnirseForm'), {
ssr: false,
suspense: false
})
const PositionJoinTeam:FC<PositionJoinTeamProps> = (
const PositionJoinTeam: FC<PositionJoinTeamProps> = (
{ benefits, description, requirements, title }
) => {
return (
@@ -1,11 +1,11 @@
import { useFormik } from 'formik'
import { Box, Button, TextField, Typography } from '@mui/material'
import { FC, useState } from 'react'
import { useFormik } from 'formik'
import { useState, type FC } from 'react'
import { object, string } from 'yup'
import { UnirseFormData, UnirseFormProps } from '@interfaces'
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
import { faSpinner } from '@fortawesome/free-solid-svg-icons'
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
import { type UnirseFormData, type UnirseFormProps } from '@interfaces'
const unirseFormSchema = object({
name: string().required('El nombre es requerido'),
@@ -21,7 +21,7 @@ const UnirseForm: FC<UnirseFormProps> = ({ role }) => {
initialValues: {
name: '',
email: '',
role: role || '',
role: role ?? '',
discordUserName: '',
experience: ''
},
@@ -73,8 +73,8 @@ const UnirseForm: FC<UnirseFormProps> = ({ role }) => {
placeholder="Escribe tu nombre"
value={formik.values.name}
onChange={formik.handleChange}
error={formik.touched.name && !!formik.errors.name}
helperText={formik.touched.name && formik.errors.name}
error={formik.touched.name !== undefined && formik.errors.name !== undefined }
helperText={formik.touched.name !== undefined && formik.errors.name}
fullWidth
margin="normal"
/>
@@ -84,8 +84,8 @@ const UnirseForm: FC<UnirseFormProps> = ({ role }) => {
placeholder="Usaremos este correo para contactarte"
value={formik.values.email}
onChange={formik.handleChange}
error={formik.touched.email && !!formik.errors.email}
helperText={formik.touched.email && formik.errors.email}
error={formik.touched.email !== undefined && formik.errors.email !== undefined }
helperText={formik.touched.email !== undefined && formik.errors.email}
fullWidth
margin="normal"
/>
@@ -95,8 +95,8 @@ const UnirseForm: FC<UnirseFormProps> = ({ role }) => {
placeholder="userName#0000"
value={formik.values.discordUserName}
onChange={formik.handleChange}
error={formik.touched.discordUserName && !!formik.errors.discordUserName}
helperText={formik.touched.discordUserName && formik.errors.discordUserName}
error={formik.touched.discordUserName !== undefined && formik.errors.discordUserName !== undefined }
helperText={formik.touched.discordUserName !== undefined && formik.errors.discordUserName}
fullWidth
margin="normal"
/>
@@ -106,8 +106,8 @@ const UnirseForm: FC<UnirseFormProps> = ({ role }) => {
placeholder="¿Tienes experiencia en el área? ¿Qué conocimientos tienes?"
value={formik.values.experience}
onChange={formik.handleChange}
error={formik.touched.experience && !!formik.errors.experience}
helperText={formik.touched.experience && formik.errors.experience}
error={formik.touched.experience !== undefined && formik.errors.experience !== undefined }
helperText={formik.touched.experience !== undefined && formik.errors.experience}
fullWidth
margin="normal"
multiline
@@ -124,7 +124,7 @@ const UnirseForm: FC<UnirseFormProps> = ({ role }) => {
type="submit"
endIcon={formik.isSubmitting ? <FontAwesomeIcon icon={faSpinner} spin /> : undefined}
>
Enviar
Enviar
</Button>
</Box>
</Box>
+1 -1
View File
@@ -1,7 +1,7 @@
import { Box, Button, Container, Paper, Typography } from '@mui/material'
import Image from 'next/image'
import Link from 'next/link'
import { FC } from 'react'
import { type FC } from 'react'
import ClanesImage from '@assets/images/Clanes.png'
+8 -8
View File
@@ -5,7 +5,7 @@ import gsap, { Elastic, Linear } from 'gsap'
import ScrollTrigger from 'gsap/dist/ScrollTrigger'
import ScrollToPlugin from 'gsap/dist/ScrollToPlugin'
import Image from 'next/image'
import { FC, useEffect, useRef } from 'react'
import { type FC, useEffect, useRef } from 'react'
import EntGamers from '@assets/images/EntGamers.png'
@@ -17,13 +17,13 @@ export interface HeroProps {
}
const Hero: FC<HeroProps> = ({ subtitle, title }) => {
const layer01 = useRef<HTMLDivElement| null>(null)
const layer02 = useRef<HTMLDivElement| null>(null)
const layer03 = useRef<HTMLDivElement| null>(null)
const layer04 = useRef<HTMLDivElement| null>(null)
const layer05 = useRef<HTMLDivElement| null>(null)
const layer06 = useRef<HTMLDivElement| null>(null)
const verMasButton = useRef<HTMLButtonElement| null>(null)
const layer01 = useRef<HTMLDivElement | null>(null)
const layer02 = useRef<HTMLDivElement | null>(null)
const layer03 = useRef<HTMLDivElement | null>(null)
const layer04 = useRef<HTMLDivElement | null>(null)
const layer05 = useRef<HTMLDivElement | null>(null)
const layer06 = useRef<HTMLDivElement | null>(null)
const verMasButton = useRef<HTMLButtonElement | null>(null)
useEffect(() => {
const scrollTrigger = {
trigger: layer01.current,
+5 -5
View File
@@ -3,15 +3,15 @@ import { Container, Paper } from '@mui/material'
import gsap, { Linear } from 'gsap'
import ScrollToPlugin from 'gsap/dist/ScrollToPlugin'
import ScrollTrigger from 'gsap/dist/ScrollTrigger'
import { FC, useEffect, useRef } from 'react'
import { type FC, useEffect, useRef } from 'react'
gsap.registerPlugin(ScrollTrigger, ScrollToPlugin)
const SocialNetworks: FC = () => {
const layer01 = useRef<HTMLDivElement| null>(null)
const layer02 = useRef<HTMLDivElement| null>(null)
const layer03 = useRef<HTMLDivElement| null>(null)
const layer04 = useRef<HTMLDivElement| null>(null)
const layer01 = useRef<HTMLDivElement | null>(null)
const layer02 = useRef<HTMLDivElement | null>(null)
const layer03 = useRef<HTMLDivElement | null>(null)
const layer04 = useRef<HTMLDivElement | null>(null)
useEffect(() => {
const scrollTrigger = {
+2 -2
View File
@@ -1,8 +1,8 @@
import { Button, Container, Typography } from '@mui/material'
import NextLink from 'next/link'
import { FC } from 'react'
import { type FC } from 'react'
import ProfileCard, { ProfileCardProps } from '@components/profiles/ProfileCard'
import ProfileCard, { type ProfileCardProps } from '@components/profiles/ProfileCard'
export interface TeamProps {
title: string
+17 -17
View File
@@ -2,21 +2,21 @@ import { faFacebook, faInstagram, faTiktok, faTwitch, faTwitter, faYoutube } fro
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
import { Avatar, Card, CardContent, IconButton, Tooltip, Typography } from '@mui/material'
import NextImage from 'next/image'
import { FC } from 'react'
import { type FC } from 'react'
import BadgeBook from '@assets/images/gaming/BadgeBook.png'
import BadgeShield from '@assets/images/gaming/BadgeShield.png'
import BadgeSword from '@assets/images/gaming/BadgeSword.png'
import ButtonA from '@assets/images/gaming/ButtonA.png'
import { faGlobe } from '@fortawesome/free-solid-svg-icons'
import { SocialLink } from '@interfaces'
import { type SocialLink } from '@interfaces'
export interface ProfileCardProps {
userName: string
biography: string
avatar: string
socialNetworks: SocialLink[]
role: 'user'| 'moderator'| 'collaborator' | 'admin'
role: 'user' | 'moderator' | 'collaborator' | 'admin'
}
const ProfileCard: FC<ProfileCardProps> = ({ avatar, biography, socialNetworks, userName, role }) => {
@@ -136,20 +136,20 @@ const ProfileCard: FC<ProfileCardProps> = ({ avatar, biography, socialNetworks,
>
{((socialNetwork) => {
switch (socialNetwork) {
case 'facebook':
return <FontAwesomeIcon icon={faFacebook} size="xs" />
case 'twitter':
return <FontAwesomeIcon icon={faTwitter} size="xs" />
case 'instagram':
return <FontAwesomeIcon icon={faInstagram} size="xs" />
case 'twitch':
return <FontAwesomeIcon icon={faTwitch} size="xs" />
case 'youtube':
return <FontAwesomeIcon icon={faYoutube} size="xs" />
case 'tiktok':
return <FontAwesomeIcon icon={faTiktok} size="xs" />
default:
return <FontAwesomeIcon icon={faGlobe} size="xs" />
case 'facebook':
return <FontAwesomeIcon icon={faFacebook} size="xs" />
case 'twitter':
return <FontAwesomeIcon icon={faTwitter} size="xs" />
case 'instagram':
return <FontAwesomeIcon icon={faInstagram} size="xs" />
case 'twitch':
return <FontAwesomeIcon icon={faTwitch} size="xs" />
case 'youtube':
return <FontAwesomeIcon icon={faYoutube} size="xs" />
case 'tiktok':
return <FontAwesomeIcon icon={faTiktok} size="xs" />
default:
return <FontAwesomeIcon icon={faGlobe} size="xs" />
}
})(socialNetwork)}
</IconButton>
+2 -2
View File
@@ -1,4 +1,4 @@
import { ButtonProps } from '@mui/material'
import { type ButtonProps } from '@mui/material'
export interface Link {
url: string
@@ -11,5 +11,5 @@ export interface Button extends Link {
}
export interface SocialLink extends Link {
socialNetwork: 'facebook' | 'twitter' | 'instagram' | 'twitch'| 'youtube' | 'tiktok'| string
socialNetwork: 'facebook' | 'twitter' | 'instagram' | 'twitch' | 'youtube' | 'tiktok' | string
}
-2
View File
@@ -1,5 +1,3 @@
export * from './layouts'
export * from './pages/equipo'
export * from './pages/equipo/unirse'
export * from './pages'
export * from './seo'
+1 -1
View File
@@ -1,4 +1,4 @@
import { Link } from '@interfaces'
import { type Link } from '@interfaces'
export interface FooterColumn {
title: string
@@ -1,4 +1,4 @@
import { ReactNode } from 'react'
import { type ReactNode } from 'react'
export interface ContainedProps {
children: ReactNode
@@ -1,4 +1,4 @@
import { EquipoUnirsePageProps } from '@interfaces'
import { type EquipoUnirsePageProps } from '@interfaces'
export interface PositionJoinTeamProps {
title: EquipoUnirsePageProps['teamPositions'][number]['title']
-1
View File
@@ -1,2 +1 @@
export * from './equipo'
export * from './equipo/unirse'
+1 -4
View File
@@ -1,7 +1,4 @@
export * from './common'
export * from './components'
export * from './components/layouts'
export * from './models/profile'
export * from './models'
export * from './pages'
export * from './pages/clanes'
export * from './pages/equipo'
+1
View File
@@ -0,0 +1 @@
export * from './profile'
+1 -1
View File
@@ -1,4 +1,4 @@
import { SocialLink } from '@interfaces'
import { type SocialLink } from '@interfaces'
export interface Profile {
id: string
+1 -1
View File
@@ -1,4 +1,4 @@
import { SeoProps as Seo } from '@components/Seo' // Temporary taken from components to later implement it in the interfaces folder
import { type SeoProps as Seo } from '@components/Seo' // Temporary taken from components to later implement it in the interfaces folder
export interface ClanesPageProps {
seo?: Seo
+1 -1
View File
@@ -1,4 +1,4 @@
import { SeoProps as Seo } from '@components/Seo' // Temporary taken from components to later implement it in the interfaces folder
import { type SeoProps as Seo } from '@components/Seo' // Temporary taken from components to later implement it in the interfaces folder
export interface EquipoPageProps {
seo?: Seo
+1 -1
View File
@@ -1,4 +1,4 @@
import { SeoProps as Seo } from '@components/Seo' // Temporary taken from components to later implement it in the interfaces folder
import { type SeoProps as Seo } from '@components/Seo' // Temporary taken from components to later implement it in the interfaces folder
export interface TeamPositionRequirements {
title: string
-2
View File
@@ -1,4 +1,2 @@
export * from './clanes'
export * from './equipo'
export * from './equipo/index'
export * from './equipo'
+4 -4
View File
@@ -1,9 +1,9 @@
import Contained from '@components/layouts/Contained'
import { Box, Button, Typography } from '@mui/material'
import NextLink from 'next/link'
import { type FC } from 'react'
import Contained from '@components/layouts/Contained'
const Page404 = () => {
const Page404: FC = () => {
return (
<Contained>
<Box
@@ -42,7 +42,7 @@ const Page404 = () => {
component={NextLink}
variant="contained"
>
Volver al inicio
Volver al inicio
</Button>
</Box>
</Contained>
+6 -7
View File
@@ -1,15 +1,14 @@
import { config } from '@fortawesome/fontawesome-svg-core'
import { CssBaseline, ThemeProvider } from '@mui/material'
import type { AppProps } from 'next/app'
import Seo from '@components/Seo'
import theme from '@styles/muiTheme'
import { config } from '@fortawesome/fontawesome-svg-core'
import '@fortawesome/fontawesome-svg-core/styles.css'
import { CssBaseline, ThemeProvider } from '@mui/material'
import theme from '@styles/muiTheme'
import type { AppProps } from 'next/app'
import { type FC } from 'react'
config.autoAddCss = false
const MyApp = ({ Component, pageProps }: AppProps) => {
const MyApp: FC<AppProps> = ({ Component, pageProps }) => {
return (
<ThemeProvider theme={theme}>
<CssBaseline/>
+3 -3
View File
@@ -1,8 +1,8 @@
import { Typography } from '@mui/material'
import Contained from '@components/layouts/Contained'
import { Typography } from '@mui/material'
import { type FC } from 'react'
const About = () => {
const About: FC = () => {
return (
<Contained>
<Typography variant='h1' align="center" gutterBottom>Sobre EntGamers</Typography>
+2 -2
View File
@@ -2,10 +2,10 @@ import { faChevronRight } from '@fortawesome/free-solid-svg-icons'
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
import { Box, Typography } from '@mui/material'
import type { GetStaticProps, InferGetStaticPropsType } from 'next'
import { FC } from 'react'
import { type FC } from 'react'
import Contained from '@components/layouts/Contained'
import { ClanesPageProps } from '@interfaces'
import { type ClanesPageProps } from '@interfaces'
import Seo from '@components/Seo'
export const getStaticProps: GetStaticProps<ClanesPageProps> = async () => {
+7 -7
View File
@@ -1,12 +1,12 @@
import { Box, Button, Typography } from '@mui/material'
import { GetStaticProps, InferGetStaticPropsType } from 'next'
import { type GetStaticProps, type InferGetStaticPropsType } from 'next'
import NextLink from 'next/link'
import { FC } from 'react'
import { type FC } from 'react'
import Seo from '@components/Seo'
import Contained from '@components/layouts/Contained'
import ProfileCard, { ProfileCardProps } from '@components/profiles/ProfileCard'
import { EquipoPageProps } from '@interfaces'
import ProfileCard, { type ProfileCardProps } from '@components/profiles/ProfileCard'
import { type EquipoPageProps } from '@interfaces'
export const getStaticProps: GetStaticProps<EquipoPageProps> = async () => {
return {
@@ -109,7 +109,7 @@ const Equipo: FC<InferGetStaticPropsType<typeof getStaticProps>> = (
color="primary"
component={NextLink}
>
Quiero ser administrador
Quiero ser administrador
</Button>
</Box>
<Typography variant="h2" align="center" gutterBottom >
@@ -162,7 +162,7 @@ const Equipo: FC<InferGetStaticPropsType<typeof getStaticProps>> = (
color="primary"
component={NextLink}
>
Quiero ser moderador
Quiero ser moderador
</Button>
</Box>
<Typography variant="h2" align="center" gutterBottom >
@@ -215,7 +215,7 @@ const Equipo: FC<InferGetStaticPropsType<typeof getStaticProps>> = (
color="primary"
component={NextLink}
>
Quiero ser colaborador
Quiero ser colaborador
</Button>
</Box>
+5 -5
View File
@@ -1,10 +1,10 @@
import { Paper, Tab, Tabs, Theme, Typography, useMediaQuery } from '@mui/material'
import { GetStaticProps, GetStaticPropsResult, InferGetStaticPropsType } from 'next'
import { FC, useState } from 'react'
import { Paper, Tab, Tabs, type Theme, Typography, useMediaQuery } from '@mui/material'
import { type GetStaticProps, type GetStaticPropsResult, type InferGetStaticPropsType } from 'next'
import { type FC, useState } from 'react'
import Contained from '@components/layouts/Contained'
import Seo from '@components/Seo'
import { EquipoUnirsePageProps } from '@interfaces'
import { type EquipoUnirsePageProps } from '@interfaces'
import 'swiper/css'
import 'swiper/css/virtual'
@@ -115,7 +115,7 @@ const Unirse: FC<InferGetStaticPropsType<typeof getStaticProps>> = ({ title, seo
>
<Tabs
value={currentTab}
onChange={(_, value) => setCurrentTab(value)}
onChange={(_, value) => { setCurrentTab(value) }}
variant={isMediumOrBigger ? 'fullWidth' : 'scrollable'}
scrollButtons
allowScrollButtonsMobile
+1 -2
View File
@@ -1,11 +1,10 @@
import type { NextPage } from 'next'
import Seo from '@components/Seo'
import Footer from '@components/layouts/Footer'
import Header from '@components/layouts/Header'
import Clanes from '@components/pages/home/Clanes'
import Hero from '@components/pages/home/Hero'
import Team from '@components/pages/home/Team'
import type { NextPage } from 'next'
const Home: NextPage = () => {
return (
+1 -1
View File
@@ -1,4 +1,4 @@
import { createTheme, Interpolation, Theme } from '@mui/material'
import { createTheme, type Interpolation, type Theme } from '@mui/material'
const glassStyle: Interpolation<{ theme: Theme }> = {
background: 'rgba( 28, 30, 33, 0.45 )',