diff --git a/frontend/src/lib/components/ArticleCard.svelte b/frontend/src/lib/components/ArticleCard.svelte index 38411c6..69cb700 100644 --- a/frontend/src/lib/components/ArticleCard.svelte +++ b/frontend/src/lib/components/ArticleCard.svelte @@ -22,8 +22,8 @@ const TOPIC_COLOR = { science: '#0083ad', // azure (sea) technology: '#5f72a8', // muted indigo - environment: '#3f9070', // soft green - health: '#3aa6a0', // calm teal + environment: '#5a9d3e', // leaf green (clearly distinct from health's teal) + health: '#1f9e95', // teal community: '#c79a3a', // warm gold culture: '#c4795a', // terracotta animals: '#9a8246', // earthy tan @@ -299,10 +299,13 @@ } .tile .media.placeholder .ph-word { font-family: var(--serif); font-size: 2rem; line-height: 1; - /* A deep, near-black shade of the topic color so the word reads clearly. */ - color: color-mix(in srgb, var(--c) 55%, var(--ink)); opacity: 0.9; + /* A deep shade of the topic color so the word reads clearly (more hue than + before, so health vs environment are easy to tell apart). */ + color: color-mix(in srgb, var(--c) 64%, var(--ink)); opacity: 0.92; text-transform: lowercase; letter-spacing: -0.01em; } + /* A snazzy bold, slightly larger initial. */ + .tile .media.placeholder .ph-word::first-letter { font-weight: 800; font-size: 1.2em; } /* A thumb card's banner carries the topic identity, so drop the faint corner watermark there to avoid a doubled word. */ .tile.hasthumb::after { display: none; } diff --git a/frontend/src/routes/account/+page.svelte b/frontend/src/routes/account/+page.svelte index 9458248..c72b215 100644 --- a/frontend/src/routes/account/+page.svelte +++ b/frontend/src/routes/account/+page.svelte @@ -60,7 +60,7 @@ - ← Back + Back @@ -139,7 +139,8 @@ .bar { background: var(--surface); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 20; } .inner { display: flex; align-items: center; justify-content: space-between; height: 64px; } .logo { height: 40px; display: block; } - .back { color: var(--accent-deep); font-size: 0.9rem; } + .back { color: var(--accent-deep); font-size: 0.9rem; display: inline-flex; align-items: center; gap: 5px; } + .back svg { width: 17px; height: 17px; display: block; } .baractions { display: flex; align-items: center; gap: 14px; } .baractions .fb { background: none; border: none; color: var(--accent-deep); cursor: pointer; display: inline-flex; padding: 2px; } .page { padding: 20px 20px 70px; } diff --git a/frontend/src/routes/admin/+page.svelte b/frontend/src/routes/admin/+page.svelte index cd15f8e..c1c3c64 100644 --- a/frontend/src/routes/admin/+page.svelte +++ b/frontend/src/routes/admin/+page.svelte @@ -52,7 +52,7 @@
- ← Account + Account
@@ -247,7 +247,8 @@ header.bar { background: var(--surface); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 20; } .inner { display: flex; align-items: center; justify-content: space-between; height: 64px; } .logo { height: 40px; display: block; } - .back { color: var(--accent-deep); font-size: 0.9rem; } + .back { color: var(--accent-deep); font-size: 0.9rem; display: inline-flex; align-items: center; gap: 5px; } + .back svg { width: 17px; height: 17px; display: block; } .page { padding: 22px 20px 70px; } h1 { font-size: clamp(2rem, 5vw, 2.6rem); margin: 6px 0 2px; } .sub { color: var(--muted); font-size: 0.9rem; margin: 0 0 22px; } diff --git a/goodnews/share.py b/goodnews/share.py index 3085cd6..522cb82 100644 --- a/goodnews/share.py +++ b/goodnews/share.py @@ -55,8 +55,6 @@ def render_share_page(article: dict, base_url: str, summary: str | None = None) for t in raw_tags.split(",") if t ) groupings = f'
{chips}
' if chips else "" - - source_short = source.split(" ")[0] if source else "the source" if summary: summary_block = f'

{escape(summary)}

' poll = "" @@ -162,7 +160,7 @@ def render_share_page(article: dict, base_url: str, summary: str | None = None)

Why it's here{escape(why)}

{groupings}
- Read the full story at {escape(source_short)} + Read the full story at {escape(source)} Explore Upbeat Bytes →