Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | 2x 7x 12x 1x | import React from "react"; import { Link, withPrefix } from "gatsby"; import ReactGA from "react-ga4"; import * as style from "./index.module.scss"; export type Post = { node: { frontmatter: { url: string; slug: string; title: string; }; fields: { slug: string; }; }; }; const LatestPost = ({ posts, totalCount, }: { posts: Post[]; totalCount: number; }) => ( <div className={style.latestPost}> <p data-testid="latestArticleCount"> <span className="icon-newspaper-o" /> Recent posts 6 / {totalCount} </p> {posts.map(({ node }) => ( <Link to={withPrefix( node.frontmatter.url || node.frontmatter.slug || node.fields.slug )} key={withPrefix( node.frontmatter.url || node.frontmatter.slug || node.fields.slug )} onClick={() => ReactGA.event({ category: "User", action: `Click latest-post item: ${node.fields.slug}`, }) } > {node.frontmatter.title} </Link> ))} </div> ); export default LatestPost; |