UI changes #13
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "ui-changes"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Catalog admin UI pass — supersedes #10 (folds in the original ui-tweaks commits plus the status/cover work).
UI tweaks (original)
/programpromotion, landing widget, navbar pills, denser credits, iOS-safe copy.Status-forward show page
Episode page redesign
Per-episode cover art (ADR-0019)
POST /program/{slug}/episode/{id}/imagesharing one validate-and-store helper with show art (square 1400–3000px JPEG/PNG); item-levelitunes:image/podcast:imagesin the feed with fallback to channel art; cover thumbnails in show rows. No show banner (no podcast app consumes one via RSS).Testing
go build,go vet, fullgo test ./...green in the dev shell. Cover upload, feed projection, and validation rejection verified over HTTP.🤖 Generated with Claude Code
Reshape /program/{slug} around production status, mobile-first, keeping the Golten Stories identity: - Show header: cover thumb + title + tagline + at-a-glance status line ("2 episoder · alle klare" / "1 trenger render"), dot reflects worst case. - Episodes become a tappable status list (whole row links to the editor) with a derived state pill per episode: kladd (no master) → render (master, missing a feed-platform rendition) → klar (rendition for every feed platform). - Feeds compacted into rows; fix a latent bug where an ungenerated platform showed "Generert 0001-01-01" because {{if $feed}} is always true for a zero Feed struct — now tests GeneratedAt.IsZero. - Credits collapsed into a disclosure to tighten the page. New CSS components (status dot/label, show-head, ep-list, feed-list, disc) are additive and reuse existing tokens. Backend adds episodeStatusRows deriving each episode's state from its master + renditions. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>Episode covers (ADR-0019): - POST /program/{slug}/episode/{id}/image — validates a square 1400-3000px JPEG/PNG (same spec as show art) via a shared storeUploadedCover helper, stores at images/episodes/{id}/cover.{ext}, sets Episode.ImagePath. - Factor the show-image upload onto the same helper; it also prunes a stale cover in the other format on re-upload. - feed.Item gains itunes:image + podcast:images; feed generation emits an episode's own cover when set, else omits it so apps fall back to channel art. - No show banner: no podcast app consumes one via RSS (see ADR-0019). Episode page redesign (mobile-first, same Golten Stories identity): - Status header (cover + title + state pill), a Metadata/Master/Renderinger pipeline strip, and inline section status — state derived in loadEpisodeView. - Cover upload/preview section; falls back to the show cover (dimmed) until set. - Show episode rows gain a cover thumbnail (own cover, else dimmed show cover). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>