diff --git a/web/components/SEO.tsx b/web/components/SEO.tsx new file mode 100644 index 00000000..6e4b76b6 --- /dev/null +++ b/web/components/SEO.tsx @@ -0,0 +1,40 @@ +import Head from 'next/head' + +export function SEO(props: { + title: string + description: string + url?: string + children?: any[] +}) { + const { title, description, url, children } = props + + return ( + + {title} | Mantic Markets + + + + + + {url && ( + + )} + + {children} + + ) +} diff --git a/web/pages/[username]/[contractId].tsx b/web/pages/[username]/[contractId].tsx index 7a317ea5..c97b1482 100644 --- a/web/pages/[username]/[contractId].tsx +++ b/web/pages/[username]/[contractId].tsx @@ -1,5 +1,4 @@ import React from 'react' -import Head from 'next/head' import clsx from 'clsx' import { useContractWithPreload } from '../../hooks/use-contract' @@ -15,13 +14,15 @@ import { Title } from '../../components/title' import { Spacer } from '../../components/layout/spacer' import { User } from '../../lib/firebase/users' import { Contract, getContract } from '../../lib/firebase/contracts' +import { SEO } from '../../components/SEO' export async function getStaticProps(props: { params: any }) { - const { contractId } = props.params + const { username, contractId } = props.params const contract = (await getContract(contractId)) || null return { props: { + username, contractId, contract, }, @@ -37,6 +38,7 @@ export async function getStaticPaths() { export default function ContractPage(props: { contract: Contract | null contractId: string + username: string }) { const user = useUser() @@ -51,26 +53,11 @@ export default function ContractPage(props: { return ( - - {contract.question} | Mantic Markets - - - - +
diff --git a/web/pages/_app.tsx b/web/pages/_app.tsx index 8d121566..1448a27e 100644 --- a/web/pages/_app.tsx +++ b/web/pages/_app.tsx @@ -17,13 +17,15 @@ function MyApp({ Component, pageProps }: AppProps) { - +