mirror of
https://github.com/mastermindzh/rickvanlieshout.com
synced 2025-10-21 12:55:43 +02:00
53 lines
1.6 KiB
TypeScript
53 lines
1.6 KiB
TypeScript
import React from "react";
|
|
|
|
import { Link } from "gatsby";
|
|
|
|
import * as styles from "./Feed.module.scss";
|
|
import { Edge } from "@/types";
|
|
|
|
type Props = {
|
|
edges: Array<Edge>;
|
|
};
|
|
|
|
const Feed: React.FC<Props> = ({ edges }: Props) => (
|
|
<div className={styles.feed}>
|
|
{edges.map((edge) => (
|
|
<div className={styles.item} key={edge.node.fields.slug}>
|
|
<div className={styles.meta}>
|
|
<time
|
|
className={styles.time}
|
|
dateTime={new Date(edge.node.frontmatter.date).toLocaleDateString("en-US", {
|
|
year: "numeric",
|
|
month: "long",
|
|
day: "numeric",
|
|
})}
|
|
>
|
|
{new Date(edge.node.frontmatter.date).toLocaleDateString("en-Us", {
|
|
day: "numeric",
|
|
year: "numeric",
|
|
month: "long",
|
|
})}
|
|
</time>
|
|
<span className={styles.divider} />
|
|
<span className={styles.category}>
|
|
<Link to={edge.node.fields.categorySlug} className={styles.link}>
|
|
{edge.node.frontmatter.category}
|
|
</Link>
|
|
</span>
|
|
</div>
|
|
<h2 className={styles.title}>
|
|
<Link className={styles.link} to={edge.node.fields.slug}>
|
|
{edge.node.frontmatter.title}
|
|
</Link>
|
|
</h2>
|
|
<p className={styles.description}>{edge.node.frontmatter.description}</p>
|
|
<Link className={styles.more} to={edge.node.fields.slug}>
|
|
{edge.node.fields.readingTime?.text && <>Read ({edge.node.fields.readingTime?.text})</>}
|
|
</Link>
|
|
</div>
|
|
))}
|
|
</div>
|
|
);
|
|
|
|
export default Feed;
|