123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- import React from 'react';
- import NextHead from 'next/head';
- import { withTranslation } from '../i18n';
- const defaultOGURL = '';
- const defaultOGImage = '';
- type Props = {
- t: (key: string) => string;
- title?: string;
- description?: string;
- url?: string;
- ogImage?: string;
- };
- const Head: React.StatelessComponent<Props> = ({
- t,
- title = 'title',
- description = 'description',
- url = '',
- ogImage = '',
- }: Props) => (
- <NextHead>
- <meta charSet="UTF-8" />
- <title>{t(title)}</title>
- <meta
- name="description"
- content={t(description)}
- />
- <meta name="viewport" content="width=device-width, initial-scale=1" />
- <link rel="icon" sizes="192x192" href="/static/touch-icon.png" />
- <link rel="apple-touch-icon" href="/static/touch-icon.png" />
- <link rel="mask-icon" href="/static/favicon-mask.svg" color="#49B882" />
- <link rel="icon" href="/static/favicon.ico" />
- <meta property="og:url" content={url || defaultOGURL} />
- <meta property="og:title" content={title || ''} />
- <meta
- property="og:description"
- content={t(description)}
- />
- <meta name="twitter:site" content={url || defaultOGURL} />
- <meta name="twitter:card" content="summary_large_image" />
- <meta name="twitter:image" content={ogImage || defaultOGImage} />
- <meta property="og:image" content={ogImage || defaultOGImage} />
- <meta property="og:image:width" content="1200" />
- <meta property="og:image:height" content="630" />
- <meta httpEquiv="X-UA-Compatible" content="IE=EmulateIE11,chrome=1" />
- </NextHead>
- );
- export default withTranslation('meta')(Head);
|