From 400aaf2f72932079f3b143b5b791fde759c833f0 Mon Sep 17 00:00:00 2001 From: xrendan Date: Thu, 23 Jul 2026 11:38:50 -0600 Subject: [PATCH] Only show draft banner for genuinely unpublished memos MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The DRAFT preview banner was gated solely on the viewer being a logged-in admin, so every memo — including published ones — showed the orange "DRAFT — not yet published" bar to admins. Gate it on the memo's actual publish state instead: a memo is a draft only when it has no publishedAt, or one scheduled in the future. --- src/app/memos/[slug]/page.tsx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/app/memos/[slug]/page.tsx b/src/app/memos/[slug]/page.tsx index 639794c..7e7313c 100644 --- a/src/app/memos/[slug]/page.tsx +++ b/src/app/memos/[slug]/page.tsx @@ -121,6 +121,12 @@ export default async function MemoDetailPage({ const keyMessages = memo.keyMessages; + // A memo is a draft when it has no publish date, or one scheduled in the + // future. The preview banner is for genuine drafts only — not every memo an + // admin happens to be viewing. + const isDraft = + !memo.publishedAt || new Date(memo.publishedAt) > new Date(); + const date = new Date( memo.publishedAt || memo.createdAt ).toLocaleDateString("en-CA", { @@ -180,7 +186,7 @@ export default async function MemoDetailPage({ return (
- {accessToken && ( + {accessToken && isDraft && ( )}