From d62c84912ae33dfc7e50a3e95b4409e66a40d3d6 Mon Sep 17 00:00:00 2001 From: james-a-morris Date: Tue, 17 Sep 2024 11:46:23 -0400 Subject: [PATCH 1/2] fix: use publish date field Signed-off-by: james-a-morris --- src/app/(routes)/blog/[slug]/page.tsx | 4 ++-- src/app/(routes)/blog/_components/article-full-card.tsx | 4 ++-- src/app/(routes)/blog/_components/article-snippet-card.tsx | 4 ++-- src/app/_lib/contentful.ts | 4 ++++ 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/app/(routes)/blog/[slug]/page.tsx b/src/app/(routes)/blog/[slug]/page.tsx index 1318e1a..c34165f 100644 --- a/src/app/(routes)/blog/[slug]/page.tsx +++ b/src/app/(routes)/blog/[slug]/page.tsx @@ -1,4 +1,5 @@ import { + resolvePublishDateToIsoDate, retrieveContentfulEntry, retrieveContentfulPublishedSlugs, } from "@/app/_lib/contentful"; @@ -89,7 +90,6 @@ export default async function SpecificBlogPage({ params }: SpecificBlogPageProps redirect("/404"); } const fullTitle = entry.fields.title; - const dateCreatedAt = entry.sys.createdAt; const content = entry.fields.content; return ( <> @@ -103,7 +103,7 @@ export default async function SpecificBlogPage({ params }: SpecificBlogPageProps - +

{fullTitle}

diff --git a/src/app/(routes)/blog/_components/article-full-card.tsx b/src/app/(routes)/blog/_components/article-full-card.tsx index 1d7cd0f..e719847 100644 --- a/src/app/(routes)/blog/_components/article-full-card.tsx +++ b/src/app/(routes)/blog/_components/article-full-card.tsx @@ -1,4 +1,4 @@ -import { retrieveContentfulEntry } from "@/app/_lib/contentful"; +import { resolvePublishDateToIsoDate, retrieveContentfulEntry } from "@/app/_lib/contentful"; import ContentfulImage from "../[slug]/_components/contentful-image"; import { MetaInfo } from "../[slug]/_components/meta-info"; import { documentToPlainTextString } from "@contentful/rich-text-plain-text-renderer"; @@ -20,7 +20,7 @@ export default async function ArticleFullCard({ slug }: { slug: string }) { >
diff --git a/src/app/(routes)/blog/_components/article-snippet-card.tsx b/src/app/(routes)/blog/_components/article-snippet-card.tsx index df41432..db2501c 100644 --- a/src/app/(routes)/blog/_components/article-snippet-card.tsx +++ b/src/app/(routes)/blog/_components/article-snippet-card.tsx @@ -1,4 +1,4 @@ -import { BlogPostType } from "@/app/_lib/contentful"; +import { BlogPostType, resolvePublishDateToIsoDate } from "@/app/_lib/contentful"; import { Text } from "@/app/_components/text"; import Link from "next/link"; import ContentfulImage from "../[slug]/_components/contentful-image"; @@ -18,7 +18,7 @@ export default function ArticleSnippetCard({
diff --git a/src/app/_lib/contentful.ts b/src/app/_lib/contentful.ts index 0aec826..f4aec90 100644 --- a/src/app/_lib/contentful.ts +++ b/src/app/_lib/contentful.ts @@ -128,3 +128,7 @@ export function getReadingTime(content: Document): number { const wordCount = words(rawText).length; return Math.round(wordCount / averageReadingSpeed); } + +export function resolvePublishDateToIsoDate(entry: BlogPostType): string { + return entry.fields.publishDate ?? entry.sys.createdAt; +} From 8f89807ce2f2a11bddaea7f386f533106bcd745c Mon Sep 17 00:00:00 2001 From: james-a-morris Date: Tue, 17 Sep 2024 11:47:57 -0400 Subject: [PATCH 2/2] nit: linting Signed-off-by: james-a-morris --- src/app/(routes)/blog/[slug]/page.tsx | 5 ++++- src/app/(routes)/blog/_components/article-full-card.tsx | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/app/(routes)/blog/[slug]/page.tsx b/src/app/(routes)/blog/[slug]/page.tsx index c34165f..cd0dd51 100644 --- a/src/app/(routes)/blog/[slug]/page.tsx +++ b/src/app/(routes)/blog/[slug]/page.tsx @@ -103,7 +103,10 @@ export default async function SpecificBlogPage({ params }: SpecificBlogPageProps - +

{fullTitle}

diff --git a/src/app/(routes)/blog/_components/article-full-card.tsx b/src/app/(routes)/blog/_components/article-full-card.tsx index e719847..edd9e13 100644 --- a/src/app/(routes)/blog/_components/article-full-card.tsx +++ b/src/app/(routes)/blog/_components/article-full-card.tsx @@ -1,4 +1,7 @@ -import { resolvePublishDateToIsoDate, retrieveContentfulEntry } from "@/app/_lib/contentful"; +import { + resolvePublishDateToIsoDate, + retrieveContentfulEntry, +} from "@/app/_lib/contentful"; import ContentfulImage from "../[slug]/_components/contentful-image"; import { MetaInfo } from "../[slug]/_components/meta-info"; import { documentToPlainTextString } from "@contentful/rich-text-plain-text-renderer";