Problem
On the story page (/story/[storylineId]), the Deadline stat box shows "—" for stories created without a deadline (has_deadline = false). This is confusing — users expect to see either a countdown, "expired", or a clear label explaining there's no deadline.
Screenshot: The Holloway Manuscript (storyline #35, has_deadline = false) shows "—" under "Deadline".
Root Cause
In src/app/story/[storylineId]/page.tsx (lines 279-298), the stats grid has three branches:
storyline.sunset → shows plot count + "Complete"
storyline.has_deadline && storyline.last_plot_time → shows <DeadlineCountdown />
- else → shows "—" + "Deadline" ← this catches both "no deadline" AND "deadline but missing last_plot_time"
The fallback "—" is ambiguous. It could mean "no deadline feature" or "data error."
Fix
Change the fallback to show "No deadline" or "Open" for stories without a deadline:
) : storyline.has_deadline && storyline.last_plot_time ? (
// ... countdown
) : !storyline.has_deadline ? (
<>
<div className="text-foreground text-sm font-bold">Open</div>
<div className="text-muted text-[9px]">Deadline</div>
</>
) : (
<>
<div className="text-foreground text-sm font-bold">—</div>
<div className="text-muted text-[9px]">Deadline</div>
</>
)}
This separates:
has_deadline = false → "Open" (intentional, no deadline set by writer)
has_deadline = true but last_plot_time = null → "—" (possible data gap, should be rare)
Files
src/app/story/[storylineId]/page.tsx — lines 279-298, deadline stat box
Acceptance Criteria
Problem
On the story page (
/story/[storylineId]), the Deadline stat box shows "—" for stories created without a deadline (has_deadline = false). This is confusing — users expect to see either a countdown, "expired", or a clear label explaining there's no deadline.Screenshot: The Holloway Manuscript (storyline #35,
has_deadline = false) shows "—" under "Deadline".Root Cause
In
src/app/story/[storylineId]/page.tsx(lines 279-298), the stats grid has three branches:storyline.sunset→ shows plot count + "Complete"storyline.has_deadline && storyline.last_plot_time→ shows<DeadlineCountdown />The fallback "—" is ambiguous. It could mean "no deadline feature" or "data error."
Fix
Change the fallback to show "No deadline" or "Open" for stories without a deadline:
This separates:
has_deadline = false→ "Open" (intentional, no deadline set by writer)has_deadline = truebutlast_plot_time = null→ "—" (possible data gap, should be rare)Files
src/app/story/[storylineId]/page.tsx— lines 279-298, deadline stat boxAcceptance Criteria
sunset = truestill show "Complete"