diff --git a/packages/web/components/Seo.tsx b/packages/web/components/Seo.tsx new file mode 100644 index 00000000..065dbd1b --- /dev/null +++ b/packages/web/components/Seo.tsx @@ -0,0 +1,40 @@ +import Head from 'next/head'; +import React from 'react'; + +export type HeadMetaProps = { + title?: string; + description?: string; + url?: string; + img?: string; +}; + +export const HeadComponent: React.FC = ({ + title = 'MetaGame', + description = 'Metagame is a Massive Online Coordination Game! Metagame is any approach to a game that transcends or operates outside of the prescribed rules of the game, uses external factors to affect the game, or goes beyond the supposed limits or environment set by the game.', + url = 'https://my.metagame.wtf/', + img = 'https://my.metagame.wtf/_next/image?url=%2Fassets%2Flogo.alt.png&w=1920&q=75', +}) => ( + + MetaGame + + + + + + + + + + + + + + + + + + + + + +); diff --git a/packages/web/pages/guild/[guildname].tsx b/packages/web/pages/guild/[guildname].tsx index fb4ed89b..4709dee8 100644 --- a/packages/web/pages/guild/[guildname].tsx +++ b/packages/web/pages/guild/[guildname].tsx @@ -16,6 +16,7 @@ import { PageContainer } from '../../components/Container'; import { GuildHero } from '../../components/Guild/GuildHero'; import { GuildLinks } from '../../components/Guild/GuildLinks'; import { ProfileSection } from '../../components/ProfileSection'; +import { HeadComponent } from '../../components/Seo'; type Props = InferGetStaticPropsType; @@ -32,6 +33,12 @@ const GuildPage: React.FC = ({ guild, quests }) => { return ( + { const GuildsPage: React.FC = ({ guilds }) => ( + ); diff --git a/packages/web/pages/patrons.tsx b/packages/web/pages/patrons.tsx index 9730ad4c..d3d2dd67 100644 --- a/packages/web/pages/patrons.tsx +++ b/packages/web/pages/patrons.tsx @@ -1,5 +1,6 @@ import { PageContainer } from 'components/Container'; import { PatronList } from 'components/Patron/PatronList'; +import { HeadComponent } from 'components/Seo'; import { getPatrons } from 'graphql/getPatrons'; import { InferGetStaticPropsType } from 'next'; import React from 'react'; @@ -18,6 +19,11 @@ export const getStaticProps = async () => { const PatronsPage: React.FC = ({ patrons }) => ( + ); diff --git a/packages/web/pages/player/[username].tsx b/packages/web/pages/player/[username].tsx index a90c0f70..fc00f423 100644 --- a/packages/web/pages/player/[username].tsx +++ b/packages/web/pages/player/[username].tsx @@ -17,6 +17,11 @@ import { PlayerAddSection } from '../../components/Player/Section/PlayerAddSecti import { PlayerGallery } from '../../components/Player/Section/PlayerGallery'; import { PlayerMemberships } from '../../components/Player/Section/PlayerMemberships'; import { PlayerSkills } from '../../components/Player/Section/PlayerSkills'; +import { HeadComponent } from '../../components/Seo'; +import { + getPlayerDescription, + getPlayerImage, +} from '../../utils/playerHelpers'; type Props = InferGetStaticPropsType; @@ -100,6 +105,12 @@ const PlayerPage: React.FC = ({ player }) => { return ( + = () => { } = usePlayerFilter(); return ( + = ({ quest_id }) => { return ( + = ({ guilds, skillChoices }) => { return ( + Create quest = () => { return ( + Quest explorer