import React from 'react';
import NextHead from 'next/head';
import { useTranslation } from 'react-i18next';

const defaultOGURL = '';
const defaultOGImage = '';

type Props = {
  title?: string;
  description?: string;
  url?: string;
  ogImage?: string;
};

const Head: React.SFC<Props> = ({
  title = 'title',
  description = 'description',
  url = '',
  ogImage = '',
}: Props) => {
  const { t } = useTranslation('meta');

  return (
    <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 Head;
