This repository has been archived on 2024-10-29. You can view files and clone it, but cannot push or open issues or pull requests.
website/components/Head.tsx

49 lines
1.5 KiB
TypeScript

import NextHead from "next/head"
import useTranslation from "next-translate/useTranslation"
interface HeadProps {
title?: string
image?: string
description?: string
url?: string
}
export const Head: React.FC<HeadProps> = (props) => {
const { t } = useTranslation()
const {
title = "Thream",
image = "https://thream.theoludwig.fr/images/icon-128x128.png",
description = t("common:description"),
url = "https://thream.theoludwig.fr/",
} = props
return (
<NextHead>
<title>{title}</title>
<link rel="icon" type="image/png" href={image} />
{/* Meta Tag */}
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content={description} />
<meta name="Language" content="fr-FR, en-US" />
<meta name="theme-color" content="#27B05E" />
{/* Open Graph Metadata */}
<meta property="og:title" content={title} />
<meta property="og:type" content="website" />
<meta property="og:url" content={url} />
<meta property="og:image" content={image} />
<meta property="og:description" content={description} />
<meta property="og:locale" content="fr-FR, en-US" />
<meta property="og:site_name" content={title} />
{/* Twitter card Metadata */}
<meta name="twitter:card" content="summary" />
<meta name="twitter:description" content={description} />
<meta name="twitter:title" content={title} />
<meta name="twitter:image" content={image} />
</NextHead>
)
}