import { t } from '@lingui/macro'; import { getPublishedPosts } from '@services/graphql/queries'; import { ArticlePreview } from '@ts/types/articles'; import Image from 'next/image'; import Link from 'next/link'; import { useRouter } from 'next/router'; import useSWR from 'swr'; import styles from './RecentPosts.module.scss'; const RecentPosts = () => { const { data, error } = useSWR('/recent-posts', () => getPublishedPosts({ first: 3 }) ); const { locale } = useRouter(); const dateOptions: Intl.DateTimeFormatOptions = { day: 'numeric', month: 'long', year: 'numeric', }; const getPost = (post: ArticlePreview) => { return (
  • {post.featuredImage && Object.keys(post.featuredImage).length > 0 && (
    {post.featuredImage.altText}
    )}

    {post.title}

    {t`Published on:`}
    {new Date(post.dates.publication).toLocaleDateString( locale, dateOptions )}
  • ); }; if (error) return
    {t`Failed to load.`}
    ; if (!data) return
    {t`Loading...`}
    ; return ( ); }; export default RecentPosts;