diff --git a/internal/router/podcast_page.go b/internal/router/podcast_page.go
index 379ed553..6cf58d4e 100644
--- a/internal/router/podcast_page.go
+++ b/internal/router/podcast_page.go
@@ -403,32 +403,41 @@ func podcastOrderForFeed(cfg *Config, c *echo.Context, feedID string) string {
}
// facetValuesFromCards derives the filter bar values.
-func facetValuesFromCards(feeds []templates.PodcastFeedCard) map[string][]string {
- hosts, tags, langs := map[string]bool{}, map[string]bool{}, map[string]bool{}
+// facetValuesFromCards derives the filter-bar values with feed counts,
+// sorted by frequency DESC then alphabetically — the top of each group
+// is what a user with hundreds of feeds actually filters by.
+func facetValuesFromCards(feeds []templates.PodcastFeedCard) map[string][]templates.FacetValue {
+ hosts, tags, langs := map[string]int{}, map[string]int{}, map[string]int{}
for _, f := range feeds {
if f.Host != "" {
- hosts[f.Host] = true
+ hosts[f.Host]++
}
for _, t := range f.Tags {
- tags[t] = true
+ tags[t]++
}
if f.Language != "" {
- langs[f.Language] = true
+ langs[f.Language]++
}
}
- return map[string][]string{
- "hosts": sortedSet(hosts),
- "tags": sortedSet(tags),
- "language": sortedSet(langs),
+ return map[string][]templates.FacetValue{
+ "hosts": sortedFacet(hosts),
+ "tags": sortedFacet(tags),
+ "language": sortedFacet(langs),
}
}
-func sortedSet(set map[string]bool) []string {
- out := make([]string, 0, len(set))
- for k := range set {
- out = append(out, k)
+// sortedFacet: count DESC, then value ASC (stable, scannable).
+func sortedFacet(set map[string]int) []templates.FacetValue {
+ out := make([]templates.FacetValue, 0, len(set))
+ for k, n := range set {
+ out = append(out, templates.FacetValue{Value: k, Count: n})
}
- sort.Strings(out)
+ sort.Slice(out, func(i, j int) bool {
+ if out[i].Count != out[j].Count {
+ return out[i].Count > out[j].Count
+ }
+ return out[i].Value < out[j].Value
+ })
return out
}
diff --git a/templates/book_detail_modals.templ b/templates/book_detail_modals.templ
index 68f9dab1..1ffec79d 100644
--- a/templates/book_detail_modals.templ
+++ b/templates/book_detail_modals.templ
@@ -525,13 +525,13 @@ templ MetadataEditorModal(book handlers.MediaDetail) {
@@ -589,19 +589,19 @@ templ MetadataEditorModal(book handlers.MediaDetail) {
diff --git a/templates/book_detail_modals_templ.go b/templates/book_detail_modals_templ.go
index 053c56d8..a785074d 100644
--- a/templates/book_detail_modals_templ.go
+++ b/templates/book_detail_modals_templ.go
@@ -1151,61 +1151,55 @@ func MetadataEditorModal(book handlers.MediaDetail) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 112, "\" class=\"input\" placeholder=\"Comma-separated names\">
")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 116, " class=\"h-4 w-4 accent-current\"> Explicit content")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if book.AudioDuration() > 0 {
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 115, "")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 117, "
")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- var templ_7745c5c3_Var62 string
- templ_7745c5c3_Var62, templ_7745c5c3_Err = templ.JoinStringErrs(book.AudioDurationLabel())
+ var templ_7745c5c3_Var60 string
+ templ_7745c5c3_Var60, templ_7745c5c3_Err = templ.JoinStringErrs(book.AudioDurationLabel())
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `templates/book_detail_modals.templ`, Line: 541, Col: 129}
}
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var62))
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var60))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 116, "
")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 118, "
")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 117, "")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 119, "")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 118, "")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if book.ShowComicMetadata() {
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 125, "Comic/Manga ")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 127, "Comic/Manga ")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -1286,7 +1280,7 @@ func MetadataEditorModal(book handlers.MediaDetail) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 126, " ")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 128, " ")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -1294,139 +1288,115 @@ func MetadataEditorModal(book handlers.MediaDetail) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 127, "")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 131, ">Unknown
")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 139, "Technical ")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 149, "Technical ")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -1434,7 +1404,7 @@ func MetadataEditorModal(book handlers.MediaDetail) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 140, " ")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 150, " ")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -1442,72 +1412,72 @@ func MetadataEditorModal(book handlers.MediaDetail) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 141, " ")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 156, "\" readonly class=\"input opacity-60 font-mono text-xs\">
")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -1515,7 +1485,7 @@ func MetadataEditorModal(book handlers.MediaDetail) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 147, "Rescan ")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 157, "Rescan ")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -1523,7 +1493,7 @@ func MetadataEditorModal(book handlers.MediaDetail) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 148, "Reset to Scanned ")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 158, "Reset to Scanned ")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -1531,7 +1501,7 @@ func MetadataEditorModal(book handlers.MediaDetail) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 149, "Write to file Cancel ")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 159, "Write to file Cancel ")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -1539,7 +1509,7 @@ func MetadataEditorModal(book handlers.MediaDetail) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 150, "Save
")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 160, "Save")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -1567,12 +1537,12 @@ func WriteToFileConfirmDialog(book handlers.MediaDetail) templ.Component {
}()
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Var81 := templ.GetChildren(ctx)
- if templ_7745c5c3_Var81 == nil {
- templ_7745c5c3_Var81 = templ.NopComponent
+ templ_7745c5c3_Var71 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var71 == nil {
+ templ_7745c5c3_Var71 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 151, "")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 161, "")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -1580,7 +1550,7 @@ func WriteToFileConfirmDialog(book handlers.MediaDetail) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 152, "
Write metadata to file?
Your pending edits are saved first, then the file is rewritten and re-scanned.
Cancel ")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 162, "Write metadata to file?
Your pending edits are saved first, then the file is rewritten and re-scanned.
Cancel ")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -1588,7 +1558,7 @@ func WriteToFileConfirmDialog(book handlers.MediaDetail) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 153, "Save & write ")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 163, "Save & write ")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
diff --git a/templates/collection_modal.templ b/templates/collection_modal.templ
index c81f2180..642e23d3 100644
--- a/templates/collection_modal.templ
+++ b/templates/collection_modal.templ
@@ -75,12 +75,12 @@ templ CollectionModal(collection CollectionData) {
diff --git a/templates/collection_modal_templ.go b/templates/collection_modal_templ.go
index ca6598f9..b75af4e8 100644
--- a/templates/collection_modal_templ.go
+++ b/templates/collection_modal_templ.go
@@ -143,56 +143,50 @@ func CollectionModal(collection CollectionData) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 13, "\">Cancel Update Collection
")
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ } else {
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 18, "")
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- } else {
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 16, "")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 19, "\">Cancel Create Collection
")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 18, "")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 20, "")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
diff --git a/templates/header.templ b/templates/header.templ
index 050010dc..da36d98b 100644
--- a/templates/header.templ
+++ b/templates/header.templ
@@ -225,6 +225,28 @@ templ Header(user User, currentPath string) {
}
+
+
+
+
+
+ Cancel
+ Confirm
+
+
+
@@ -352,24 +374,4 @@ templ SidebarSignIn(currentPath string) {
}
-
-
-
-
-
-
- Cancel
- Confirm
-
-
-
}
diff --git a/templates/header_templ.go b/templates/header_templ.go
index 9291626b..6f053f05 100644
--- a/templates/header_templ.go
+++ b/templates/header_templ.go
@@ -741,7 +741,7 @@ func Header(user User, currentPath string) templ.Component {
return templ_7745c5c3_Err
}
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 73, "")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 73, "
")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -764,7 +764,7 @@ func Header(user User, currentPath string) templ.Component {
var templ_7745c5c3_Var44 string
templ_7745c5c3_Var44, templ_7745c5c3_Err = templ.ResolveAttributeValue("/static/main.js?v=" + MainJSVersion())
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `templates/header.templ`, Line: 278, Col: 68}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `templates/header.templ`, Line: 300, Col: 68}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var44)
if templ_7745c5c3_Err != nil {
@@ -815,7 +815,7 @@ func SidebarUserMenu(user User) templ.Component {
var templ_7745c5c3_Var46 string
templ_7745c5c3_Var46, templ_7745c5c3_Err = templ.JoinStringErrs(user.Username)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `templates/header.templ`, Line: 294, Col: 58}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `templates/header.templ`, Line: 316, Col: 58}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var46))
if templ_7745c5c3_Err != nil {
@@ -899,7 +899,7 @@ func SidebarSignIn(currentPath string) templ.Component {
var templ_7745c5c3_Var48 string
templ_7745c5c3_Var48, templ_7745c5c3_Err = templ.ResolveAttributeValue(currentPath)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `templates/header.templ`, Line: 342, Col: 60}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `templates/header.templ`, Line: 364, Col: 60}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var48)
if templ_7745c5c3_Err != nil {
@@ -915,7 +915,7 @@ func SidebarSignIn(currentPath string) templ.Component {
return templ_7745c5c3_Err
}
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 88, "
")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 88, "")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
diff --git a/templates/podcast_detail.templ b/templates/podcast_detail.templ
index 3a56c373..139bdb73 100644
--- a/templates/podcast_detail.templ
+++ b/templates/podcast_detail.templ
@@ -130,10 +130,10 @@ templ PodcastDetailPage(user User, data PodcastDetailData) {
hx-target="#episode-list"
hx-swap="outerHTML"
>
-
-
-
-
+
+
+
+
")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 41, ">Newest first (pub date)")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if data.IsSerial && data.Order == "native" {
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 38, "Reverse feed order")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 43, "\" hx-vals='{\"order\": \"reverse\"}' hx-target=\"#episode-list\" hx-swap=\"outerHTML\" title=\"Serial feed: publishers list newest first — reverse the feed order to start at chapter 1\">Reverse feed order")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 40, "")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 44, "")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -456,85 +444,85 @@ func PodcastDetailPage(user User, data PodcastDetailData) templ.Component {
return templ_7745c5c3_Err
}
if data.Feed.AutoDownload == "newest" {
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 41, "")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 46, "\" class=\"input w-20 py-1.5\" aria-label=\"Newest N episodes\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 43, "")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 47, "")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if data.IsAdmin && data.SubscriberCount <= 1 {
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 44, "Unsubscribe ")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 48, "Unsubscribe ")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
} else if data.IsAdmin {
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 45, "Unsubscribe ")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 50, "\" hx-confirm=\"Unsubscribe from this feed? Episodes and files are kept.\" hx-swap=\"none\">Unsubscribe ")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
} else {
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 47, "Unsubscribe ")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 52, "\" hx-confirm=\"Unsubscribe from this feed?\" hx-swap=\"none\">Unsubscribe ")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
if data.IsAdmin {
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 49, "")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 54, "\" hx-confirm=\"ADMIN: remove this feed for everyone? Episode rows AND downloaded files are deleted.\" hx-swap=\"none\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -542,17 +530,17 @@ func PodcastDetailPage(user User, data PodcastDetailData) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 51, "Remove Feed")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 55, "Remove Feed")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 52, "")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 56, "")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if data.GapCount > 0 {
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 53, "")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 57, "
")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -560,25 +548,25 @@ func PodcastDetailPage(user User, data PodcastDetailData) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 54, "
")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 58, "
")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- var templ_7745c5c3_Var28 string
- templ_7745c5c3_Var28, templ_7745c5c3_Err = templ.JoinStringErrs(podcastInt(data.GapCount) + " episode(s) not downloaded in the middle of this feed")
+ var templ_7745c5c3_Var24 string
+ templ_7745c5c3_Var24, templ_7745c5c3_Err = templ.JoinStringErrs(podcastInt(data.GapCount) + " episode(s) not downloaded in the middle of this feed")
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `templates/podcast_detail.templ`, Line: 218, Col: 160}
}
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var28))
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var24))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 55, "
Playback skips them and keeps going — use Download All to fill the gaps.
")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 59, "
Playback skips them and keeps going — use Download All to fill the gaps.
")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 56, " No episodes match the filter.
")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 60, " No episodes match the filter.
")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -593,7 +581,7 @@ func PodcastDetailPage(user User, data PodcastDetailData) templ.Component {
return templ_7745c5c3_Err
}
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 57, "")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 61, "")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -601,7 +589,7 @@ func PodcastDetailPage(user User, data PodcastDetailData) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 58, "