import React from "react"; import { Link, navigate } from "gatsby"; import { GhostPostDescription } from "../models/all-post-description.model"; import Img from "gatsby-image"; import starSVG from "./../images/star.svg"; type PostCardTypes = { post: GhostPostDescription; }; const PostCard: React.FC = ({ post }) => { let excerpt = ""; if (post.excerpt) { excerpt = post.excerpt.split(" ").length > 30 ? post.excerpt.split(" ").slice(0, 30).join(" ") + "..." : post.excerpt; } const handleNavigation = (e: any, slug) => { e.stopPropagation(); navigate(slug); }; return (
handleNavigation(e, `/${post.slug}`)} className="w-full md:w-1/2 lg:w-1/3 px-4 mb-8 cursor-pointer relative" > {post.featured && ( Featured Featured )}
{post.localFeatureImage && post.localFeatureImage.childImageSharp && ( )} {post.localFeatureImage && !post.localFeatureImage.childImageSharp && ( {post.title} )} {!post.feature_image && (
)}
handleNavigation(e, `/author/${post.primary_author.slug}`) } className="text-gray-600 no-underline hover:underline text-sm" > {post.primary_author.name} {post.published_at}
); }; export default PostCard;