import React from 'react'; import siteMetadata from '@/data/siteMetadata'; import dynamic from 'next/dynamic'; import { PostFrontMatter } from 'types/PostFrontMatter'; interface Props { frontMatter: PostFrontMatter; } const UtterancesComponent = dynamic( () => { return import('@/components/comments/Utterances'); }, { ssr: false } ); const GiscusComponent = dynamic( () => { return import('@/components/comments/Giscus'); }, { ssr: false } ); const DisqusComponent = dynamic( () => { return import('@/components/comments/Disqus'); }, { ssr: false } ); const CusdisComponent = dynamic( () => { return import('@/components/comments/Cusdis'); }, { ssr: false } ); const CommentoComponent = dynamic( () => { return import('@/components/comments/Commento'); }, { ssr: false } ); const Comments = ({ frontMatter }: Props) => { let term; switch ( siteMetadata.comment.giscusConfig.mapping || siteMetadata.comment.utterancesConfig.issueTerm ) { case 'pathname': term = frontMatter.slug; break; case 'url': term = window.location.href; break; case 'title': term = frontMatter.title; break; } return (