From 67d6b82ed331e767f3a61988f138271b7712673a Mon Sep 17 00:00:00 2001 From: jay Date: Sat, 6 Jun 2026 21:52:43 -0400 Subject: [PATCH] Article page: add a Back button in the top bar MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The server-rendered /a/ summary page had no in-page way back — the only option was the browser's back button, which feels unfinished. Add a "← Back" control on the right of the top bar (desktop + mobile). It uses history.back() when the reader came from within the site, and falls back to the home page for visitors who arrived via a shared link (no useful history). Co-Authored-By: Claude Opus 4.8 (1M context) --- goodnews/share.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/goodnews/share.py b/goodnews/share.py index 8b37049..6115125 100644 --- a/goodnews/share.py +++ b/goodnews/share.py @@ -114,8 +114,13 @@ def render_share_page(article: dict, base_url: str, summary: str | None = None) font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; line-height:1.6; }} .bar {{ background:var(--surface); border-bottom:1px solid var(--line); }} - .bar .inner {{ max-width:680px; margin:0 auto; padding:12px 20px; }} + .bar .inner {{ max-width:680px; margin:0 auto; padding:12px 20px; + display:flex; align-items:center; justify-content:space-between; gap:12px; }} .bar img {{ height:40px; display:block; }} + .back {{ background:none; border:1px solid var(--line); color:var(--accent-deep); + border-radius:999px; padding:7px 16px; font-size:.88rem; font-family:inherit; + cursor:pointer; line-height:1; white-space:nowrap; }} + .back:hover {{ border-color:var(--accent); }} .wrap {{ max-width:680px; margin:0 auto; padding:24px 20px 60px; }} .card {{ background:var(--surface); border:1px solid var(--line); border-radius:16px; overflow:hidden; box-shadow:0 10px 30px rgba(40,38,28,.06); }} @@ -143,7 +148,7 @@ def render_share_page(article: dict, base_url: str, summary: str | None = None) -
Upbeat Bytes
+
Upbeat Bytes
{media} @@ -181,6 +186,14 @@ def render_share_page(article: dict, base_url: str, summary: str | None = None) else if(navigator.clipboard){{ navigator.clipboard.writeText(url).then(function(){{ s.textContent='Copied!'; setTimeout(function(){{s.textContent='Copy link';}},1500); }}); }} }}); }})(); + + {poll}