import { Button } from '@components/Buttons'; import { t } from '@lingui/macro'; import { Comment as CommentData } from '@ts/types/comments'; import Image from 'next/image'; import Link from 'next/link'; import { useRouter } from 'next/router'; import styles from './Comment.module.scss'; const Comment = ({ comment, isNested = false, }: { comment: CommentData; isNested?: boolean; }) => { const router = useRouter(); const getCommentAuthor = () => { return comment.author.url ? ( {comment.author.name} ) : ( {comment.author.name} ); }; const getLocaleDate = () => { const commentDate = new Date(comment.date); const date = commentDate.toLocaleDateString(router.locale, { year: 'numeric', month: 'long', day: 'numeric', }); const time = commentDate .toLocaleTimeString(router.locale, { hour: 'numeric', minute: 'numeric', }) .replace(':', 'h'); return t`${date} at ${time}`; }; const getApprovedComment = () => { return ( <>
{comment.author.gravatarUrl && (
{comment.author.name}
)} {getCommentAuthor()}
{t`Published on:`}
{getLocaleDate()}
{!isNested && ( )}
{comment.replies.length > 0 && (
    {comment.replies.map((reply) => { return ; })}
)} ); }; const getCommentStatus = () => { return

{t`This comment is awaiting moderation.`}

; }; return (
  • {comment.approved ? getApprovedComment() : getCommentStatus()}
  • ); }; export default Comment;