fix: fall back to date_created when published_at is null so every article shows a date
This commit is contained in:
@@ -12,6 +12,7 @@ const mockArticle: Article = {
|
|||||||
excerpt: 'The beloved series returns.',
|
excerpt: 'The beloved series returns.',
|
||||||
featured_image: null,
|
featured_image: null,
|
||||||
published_at: '2026-05-28T00:00:00Z',
|
published_at: '2026-05-28T00:00:00Z',
|
||||||
|
date_created: '2026-05-28T00:00:00Z',
|
||||||
is_featured: false,
|
is_featured: false,
|
||||||
seo_title: null,
|
seo_title: null,
|
||||||
seo_description: null,
|
seo_description: null,
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ describe('getArticleBySlug', () => {
|
|||||||
{
|
{
|
||||||
id: '1', title: 'Frieren S2', slug: 'frieren-s2', status: 'published',
|
id: '1', title: 'Frieren S2', slug: 'frieren-s2', status: 'published',
|
||||||
content: '<p>Body</p>', excerpt: 'Short', featured_image: null,
|
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,
|
seo_title: null, seo_description: null,
|
||||||
category: { id: '1', name: 'Anime', slug: 'anime', description: null },
|
category: { id: '1', name: 'Anime', slug: 'anime', description: null },
|
||||||
tags: [],
|
tags: [],
|
||||||
|
|||||||
@@ -73,12 +73,13 @@ export default async function ArticlePage({ params }: Props) {
|
|||||||
|
|
||||||
if (!article) notFound()
|
if (!article) notFound()
|
||||||
|
|
||||||
const publishedDate = article.published_at
|
const dateToFormat = article.published_at ?? article.date_created
|
||||||
|
const publishedDate = dateToFormat
|
||||||
? new Intl.DateTimeFormat('en-US', {
|
? new Intl.DateTimeFormat('en-US', {
|
||||||
year: 'numeric',
|
year: 'numeric',
|
||||||
month: 'long',
|
month: 'long',
|
||||||
day: 'numeric',
|
day: 'numeric',
|
||||||
}).format(new Date(article.published_at))
|
}).format(new Date(dateToFormat))
|
||||||
: null
|
: null
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|||||||
+1
-1
@@ -79,7 +79,7 @@ export async function getArticleBySlug(slug: string): Promise<Article | null> {
|
|||||||
readItems('articles', {
|
readItems('articles', {
|
||||||
fields: [
|
fields: [
|
||||||
'id', 'title', 'slug', 'status', 'content', 'excerpt',
|
'id', 'title', 'slug', 'status', 'content', 'excerpt',
|
||||||
'featured_image', 'published_at', 'is_featured',
|
'featured_image', 'published_at', 'date_created', 'is_featured',
|
||||||
'seo_title', 'seo_description',
|
'seo_title', 'seo_description',
|
||||||
'category.id', 'category.name', 'category.slug',
|
'category.id', 'category.name', 'category.slug',
|
||||||
'tags.tags_id.id', 'tags.tags_id.name', 'tags.tags_id.slug',
|
'tags.tags_id.id', 'tags.tags_id.name', 'tags.tags_id.slug',
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ export interface Article {
|
|||||||
excerpt: string | null
|
excerpt: string | null
|
||||||
featured_image: string | null
|
featured_image: string | null
|
||||||
published_at: string | null
|
published_at: string | null
|
||||||
|
date_created: string | null
|
||||||
is_featured: boolean
|
is_featured: boolean
|
||||||
seo_title: string | null
|
seo_title: string | null
|
||||||
seo_description: string | null
|
seo_description: string | null
|
||||||
|
|||||||
Reference in New Issue
Block a user