From 94177b95c3a3d7c502f9d858d4700ae858dd6a53 Mon Sep 17 00:00:00 2001 From: Alex Bozarth Date: Tue, 5 May 2026 16:01:43 -0500 Subject: [PATCH 1/3] fix: parse blog dates as local time to avoid UTC offset Using new Date(dateStr) with an ISO date-only string parses as UTC midnight, which shifts to the previous day in US timezones. Switch to the same split-based construction used in BlogCard so both pages render the same date. Signed-off-by: Alex Bozarth --- src/app/blogs/[slug]/page.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/app/blogs/[slug]/page.tsx b/src/app/blogs/[slug]/page.tsx index 66a6793..8d90cfc 100644 --- a/src/app/blogs/[slug]/page.tsx +++ b/src/app/blogs/[slug]/page.tsx @@ -38,7 +38,8 @@ export async function generateMetadata({ params }: { params: Promise<{ slug: str function formatDate(dateStr: string) { if (!dateStr) return ''; - const d = new Date(dateStr); + const [year, month, day] = dateStr.split('-').map(Number); + const d = new Date(year, month - 1, day); return d.toLocaleDateString('en-US', { year: 'numeric', month: 'long', day: 'numeric' }); } From 2f5789588c2cb8d6a235f06467270fbd68a2d5cd Mon Sep 17 00:00:00 2001 From: Alex Bozarth Date: Wed, 6 May 2026 11:19:17 -0500 Subject: [PATCH 2/3] fix: qualify OG publishedTime with noon to preserve calendar day Bare YYYY-MM-DD strings are parsed as UTC midnight by OG metadata consumers, shifting the displayed date one day earlier for readers in UTC-behind timezones. Using T12:00:00 preserves the correct calendar day across all UTC offsets. Closes #40 Signed-off-by: Alex Bozarth --- src/app/blogs/[slug]/page.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/blogs/[slug]/page.tsx b/src/app/blogs/[slug]/page.tsx index 8d90cfc..a900e8f 100644 --- a/src/app/blogs/[slug]/page.tsx +++ b/src/app/blogs/[slug]/page.tsx @@ -21,7 +21,7 @@ export async function generateMetadata({ params }: { params: Promise<{ slug: str description: blog.excerpt, url: `${siteConfig.url}/blogs/${slug}`, siteName: siteConfig.name, - publishedTime: blog.date, + publishedTime: `${blog.date}T12:00:00`, authors: [blog.author], images: [{ url: siteConfig.ogImage }], }, From d2ccfc15ee25f65d0ea0513a70987ab6f38c693e Mon Sep 17 00:00:00 2001 From: Alex Bozarth Date: Wed, 6 May 2026 14:22:14 -0500 Subject: [PATCH 3/3] Update src/app/blogs/[slug]/page.tsx Co-authored-by: Paul Schweigert --- src/app/blogs/[slug]/page.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/blogs/[slug]/page.tsx b/src/app/blogs/[slug]/page.tsx index a900e8f..6151c08 100644 --- a/src/app/blogs/[slug]/page.tsx +++ b/src/app/blogs/[slug]/page.tsx @@ -21,7 +21,7 @@ export async function generateMetadata({ params }: { params: Promise<{ slug: str description: blog.excerpt, url: `${siteConfig.url}/blogs/${slug}`, siteName: siteConfig.name, - publishedTime: `${blog.date}T12:00:00`, + publishedTime: `${blog.date}T12:00:00Z`, authors: [blog.author], images: [{ url: siteConfig.ogImage }], },