Show Source URL in the episode list #5

Merged
w33ble merged 2 commits from feat/source-url into main 2026-09-06 19:59:57 -06:00
Collaborator

What

The original pasted Source URL is stored on every Job and Episode but only non-done rows showed it. Now every episode-list entry renders it as a muted external link (target=_blank, rel=noopener) under the row content — done rows get it beneath the title download link; queued/processing/failed rows keep it as the row's main link.

  • a.ep-source class shared by both slots (muted, small, accent-2 hover); title-link hover styling split into its own class so the two anchors behave differently
  • Delete control, download attribute, thumbnails, state rails/badges, and data-in-flight polling markup unchanged (regression-tested)

Tests

6 new seam tests in internal/server/page_test.go: per-state anchor presence, positional check under the title, one URL anchor per row, delete-form regression on done/failed. mise run check + mise run test green.

Closes MCAST-17.

## What The original pasted Source URL is stored on every Job and Episode but only non-done rows showed it. Now every episode-list entry renders it as a muted external link (`target=_blank`, `rel=noopener`) under the row content — done rows get it beneath the title download link; queued/processing/failed rows keep it as the row's main link. - `a.ep-source` class shared by both slots (muted, small, accent-2 hover); title-link hover styling split into its own class so the two anchors behave differently - Delete control, download attribute, thumbnails, state rails/badges, and `data-in-flight` polling markup unchanged (regression-tested) ## Tests 6 new seam tests in `internal/server/page_test.go`: per-state anchor presence, positional check under the title, one URL anchor per row, delete-form regression on done/failed. `mise run check` + `mise run test` green. Closes MCAST-17.
Wrap the title slot and the Source URL anchor in an .ep-main column so every row carries the original pasted URL as a muted, small external <a target=_blank rel=noopener>. Done rows: title (download link) above, URL below — two lines, no duplication. Non-done rows (queued / processing / failed): URL occupies the title slot using the same muted styling, single line. CSS adds .ep-main (column flex with the same gap rhythm the row already had), splits the old .ep-title anchor rules into .ep-title-link (regular text, accent hover) and .ep-source (dim, small, accent-2 hover). State rails, badges, delete forms, thumbnails, polling markup, and download-attribute behavior all unchanged.
test: cover source URL anchor on every entry
All checks were successful
ci / check (pull_request) Successful in 4m11s
9ef59ad0c7
Assert the .ep-source anchor (href + target=_blank + rel=noopener) renders on done, queued, processing, and failed rows; one per row across all states; delete form still present on done and failed after the layout change. Reuses the existing page_test.go seam — no new helpers, just httptest + in-memory SQLite + the Fake runner.
w33ble approved these changes 2026-09-06 19:54:33 -06:00
w33ble merged commit 059093a41a into main 2026-09-06 19:59:57 -06:00
w33ble deleted branch feat/source-url 2026-09-06 19:59:57 -06:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
w33ble/mediacast!5
No description provided.