fix: fall back to date_created when published_at is null so every article shows a date

This commit is contained in:
achmad
2026-05-31 17:06:43 +07:00
parent 95aac628e1
commit 963ff5affc
5 changed files with 7 additions and 4 deletions
@@ -12,6 +12,7 @@ const mockArticle: Article = {
excerpt: 'The beloved series returns.',
featured_image: null,
published_at: '2026-05-28T00:00:00Z',
date_created: '2026-05-28T00:00:00Z',
is_featured: false,
seo_title: null,
seo_description: null,
+1 -1
View File
@@ -47,7 +47,7 @@ describe('getArticleBySlug', () => {
{
id: '1', title: 'Frieren S2', slug: 'frieren-s2', status: 'published',
content: '<p>Body</p>', excerpt: 'Short', featured_image: null,
published_at: '2026-05-28T00:00:00Z', is_featured: false,
published_at: '2026-05-28T00:00:00Z', date_created: '2026-05-28T00:00:00Z', is_featured: false,
seo_title: null, seo_description: null,
category: { id: '1', name: 'Anime', slug: 'anime', description: null },
tags: [],
+3 -2
View File
@@ -73,12 +73,13 @@ export default async function ArticlePage({ params }: Props) {
if (!article) notFound()
const publishedDate = article.published_at
const dateToFormat = article.published_at ?? article.date_created
const publishedDate = dateToFormat
? new Intl.DateTimeFormat('en-US', {
year: 'numeric',
month: 'long',
day: 'numeric',
}).format(new Date(article.published_at))
}).format(new Date(dateToFormat))
: null
return (
+1 -1
View File
@@ -79,7 +79,7 @@ export async function getArticleBySlug(slug: string): Promise<Article | null> {
readItems('articles', {
fields: [
'id', 'title', 'slug', 'status', 'content', 'excerpt',
'featured_image', 'published_at', 'is_featured',
'featured_image', 'published_at', 'date_created', 'is_featured',
'seo_title', 'seo_description',
'category.id', 'category.name', 'category.slug',
'tags.tags_id.id', 'tags.tags_id.name', 'tags.tags_id.slug',
+1
View File
@@ -26,6 +26,7 @@ export interface Article {
excerpt: string | null
featured_image: string | null
published_at: string | null
date_created: string | null
is_featured: boolean
seo_title: string | null
seo_description: string | null