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,15 @@
|
||||
import { ButtonProps } from '@mui/material'
|
||||
|
||||
export interface Link {
|
||||
url: string
|
||||
label: string
|
||||
}
|
||||
|
||||
export interface Button extends Link {
|
||||
variant: ButtonProps['variant']
|
||||
color: ButtonProps['color']
|
||||
}
|
||||
|
||||
export interface SocialLink extends Link {
|
||||
socialNetwork: 'facebook' | 'twitter' | 'instagram' | 'twitch'| 'youtube' | 'tiktok'| string
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
export * from './layouts'
|
||||
export * from './pages/equipo'
|
||||
export * from './pages/equipo/unirse'
|
||||
export * from './pages'
|
||||
export * from './seo'
|
||||
@@ -0,0 +1,6 @@
|
||||
import { Link } from '@interfaces'
|
||||
|
||||
export interface FooterColumn {
|
||||
title: string
|
||||
links: Link[]
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
import { ReactNode } from 'react'
|
||||
|
||||
export interface ContainedProps {
|
||||
children: ReactNode
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
export * from './Footer'
|
||||
export * from './contained'
|
||||
@@ -0,0 +1 @@
|
||||
export * from './unirse'
|
||||
@@ -0,0 +1 @@
|
||||
export * from './positionJoinTeam'
|
||||
@@ -0,0 +1,8 @@
|
||||
import { EquipoUnirsePageProps } from '@interfaces'
|
||||
|
||||
export interface PositionJoinTeamProps {
|
||||
title: EquipoUnirsePageProps['teamPositions'][number]['title']
|
||||
description: EquipoUnirsePageProps['teamPositions'][number]['description']
|
||||
requirements: EquipoUnirsePageProps['teamPositions'][number]['requirements']
|
||||
benefits: EquipoUnirsePageProps['teamPositions'][number]['benefits']
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
export * from './equipo'
|
||||
export * from './equipo/unirse'
|
||||
@@ -0,0 +1,63 @@
|
||||
export interface TypeImage {
|
||||
url: string
|
||||
secureUrl?: number
|
||||
type?: string
|
||||
width?: number
|
||||
height?: number
|
||||
alt?: string
|
||||
}
|
||||
|
||||
export interface TypeProfile {
|
||||
firstName: string
|
||||
lastName?: string
|
||||
username?: string
|
||||
gender?: 'male' | 'female' | string
|
||||
}
|
||||
|
||||
export interface TypeVideo {
|
||||
url: string
|
||||
secureUrl?: string
|
||||
type?: string
|
||||
width?: string
|
||||
height?: string
|
||||
alt?: string
|
||||
}
|
||||
|
||||
export interface TypeAudio {
|
||||
url: string
|
||||
secureUrl?: string
|
||||
type?: string
|
||||
}
|
||||
|
||||
export interface SeoTypeProfile extends TypeProfile {
|
||||
type: 'profile'
|
||||
}
|
||||
|
||||
export interface TypeMusicSong {
|
||||
type: 'music.song'
|
||||
duration: number
|
||||
album: string
|
||||
albumDisc: number
|
||||
albumTrack: number
|
||||
musician: string | string[] | TypeProfile | TypeProfile[]
|
||||
}
|
||||
|
||||
export interface TypeMusicAlbum {
|
||||
type: 'music.album'
|
||||
}
|
||||
|
||||
export type Seo = {
|
||||
title?: string
|
||||
description?: string
|
||||
image?: string | string[] | TypeImage | TypeImage[]
|
||||
url?: string
|
||||
audio?: string | string[] | TypeAudio | TypeAudio[]
|
||||
determiner?: string
|
||||
locale?: string
|
||||
localeAlternate?: string
|
||||
siteName?: string
|
||||
video?: string | string[] | TypeVideo | TypeVideo[]
|
||||
} & (
|
||||
| SeoTypeProfile
|
||||
| TypeMusicSong
|
||||
)
|
||||
@@ -0,0 +1,7 @@
|
||||
export * from './common'
|
||||
export * from './components'
|
||||
export * from './components/layouts'
|
||||
export * from './models/profile'
|
||||
export * from './pages'
|
||||
export * from './pages/clanes'
|
||||
export * from './pages/equipo'
|
||||
@@ -0,0 +1,13 @@
|
||||
import { SocialLink } from '@interfaces'
|
||||
|
||||
export interface Profile {
|
||||
id: string
|
||||
userName: string
|
||||
email: string
|
||||
biography: string
|
||||
avatar: string
|
||||
socialNetworks: SocialLink[]
|
||||
role: 'user' | 'admin' | 'moderator' | 'collaborator'
|
||||
createdAt: string
|
||||
updatedAt: string
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
import { SeoProps as Seo } from '@components/Seo' // Temporary taken from components to later implement it in the interfaces folder
|
||||
|
||||
export interface ClanesPageProps {
|
||||
seo?: Seo
|
||||
title: string
|
||||
description: string
|
||||
benefitsTitle: string
|
||||
benefitsDescription: string
|
||||
benefits: string[]
|
||||
requirementsTitle: string
|
||||
requirementsDescription: string
|
||||
requirements: string[]
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
import { SeoProps as Seo } from '@components/Seo' // Temporary taken from components to later implement it in the interfaces folder
|
||||
|
||||
export interface EquipoPageProps {
|
||||
seo?: Seo
|
||||
title: string
|
||||
description: string
|
||||
administrationTitle: string
|
||||
administrationDescription: string
|
||||
collaboratorsTitle: string
|
||||
collaboratorsDescription: string
|
||||
moderatorsTitle: string
|
||||
moderatorsDescription: string
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
export * from './unirse'
|
||||
@@ -0,0 +1,37 @@
|
||||
import { SeoProps as Seo } from '@components/Seo' // Temporary taken from components to later implement it in the interfaces folder
|
||||
|
||||
export interface TeamPositionRequirements {
|
||||
title: string
|
||||
description: string
|
||||
}
|
||||
|
||||
export interface TeamPositionBenefits {
|
||||
title: string
|
||||
description: string
|
||||
}
|
||||
|
||||
export interface TeamPosition {
|
||||
title: string
|
||||
description: string
|
||||
requirements: TeamPositionRequirements[]
|
||||
benefits: TeamPositionBenefits[]
|
||||
}
|
||||
|
||||
export interface EquipoUnirsePageProps {
|
||||
seo?: Seo
|
||||
title: string
|
||||
description: string
|
||||
teamPositions: TeamPosition[]
|
||||
}
|
||||
|
||||
export interface UnirseFormData {
|
||||
name: string
|
||||
email: string
|
||||
discordUserName: string
|
||||
experience: string
|
||||
role: string
|
||||
}
|
||||
|
||||
export interface UnirseFormProps {
|
||||
role?: string
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
export * from './clanes'
|
||||
export * from './equipo'
|
||||
export * from './equipo/index'
|
||||
export * from './equipo'
|
||||
Reference in New Issue
Block a user