Podcasts
Your subscriptions
No podcasts library yet
An admin creates a Podcasts library (with a download folder) first — then feeds can be added here.
No subscriptions
Add an RSS feed to start listening — episodes land here and download on demand.
package templates import "net/url" // PodcastFacetChip is the facet-bar chip: value + feed count, linking // back into the podcasts page's server-side filter (the /bookshelf // FacetLink targets the wrong surface for podcasts). templ PodcastFacetChip(facet string, v FacetValue) { { v.Value } if v.Count > 1 { { podcastInt(v.Count) } } } // The /podcasts page (plan task 1.9, D13/D14/D18): Add Feed wizard, // subscription-scoped search, facet bar, All-Feeds grid. Server-side // filtering (GET form, like the series page — no JS needed); the grid // is templ-rendered server data per the rendering-ownership rule. templ PodcastsPage(user User, data PodcastsPageData, currentPath string) {
Your subscriptions
No podcasts library yet
An admin creates a Podcasts library (with a download folder) first — then feeds can be added here.
No subscriptions
Add an RSS feed to start listening — episodes land here and download on demand.
{ feed.DisplayTitle() }
{ feed.TypeLabel() } if feed.Host != "" { { " · " + feed.Host } }
@Icon("book-open", "h-3.5 w-3.5 inline") { " " + podcastInt(feed.ContinueEpisode) + ". " + feed.ContinueTitle }
} else if feed.Description != "" {{ feed.Description }
}