websync / components /Head.tsx
Shivam
Initial commit: Web-SyncPlay moved into Streamer
d092f57
import NextHead from "next/head"
import { getSiteDomain, getSiteName } from "../lib/env"
import { useRouter } from "next/router"
export interface MetaProps {
title?: string
description?: string
image?: string
type?: string
robots?: string
}
const Head = ({ customMeta }: { customMeta?: MetaProps }) => {
const router = useRouter()
const meta: MetaProps = {
title: getSiteName(),
description: "Watch videos or play music in sync with your friends",
type: "website",
robots: "noindex, noarchive, follow",
image: getSiteDomain() + "/apple-touch-icon.png",
...customMeta,
}
return (
<NextHead>
<title>{meta.title}</title>
<meta property='og:url' content={`${getSiteDomain()}${router.asPath}`} />
<link rel='canonical' href={`${getSiteDomain()}${router.asPath}`} />
<meta property='og:type' content='website' />
<meta property='og:site_name' content={getSiteName()} />
<meta property='og:description' content={meta.description} />
<meta property='og:title' content={meta.title} />
{meta.image && <meta property='og:image' content={meta.image} />}
<meta name='twitter:card' content='summary' />
<meta name='twitter:title' content={meta.title} />
<meta name='twitter:description' content={meta.description} />
{meta.image && <meta name='twitter:image' content={meta.image} />}
<meta name={"robots"} content={meta.robots} />
</NextHead>
)
}
export default Head