diff --git a/public/index.html b/public/index.html index d06ce66..a7df279 100644 --- a/public/index.html +++ b/public/index.html @@ -305,7 +305,8 @@
✓ Checked = Visible, ☐ Unchecked = Hidden
diff --git a/public/js/components/ChannelList.js b/public/js/components/ChannelList.js index 78dafee..063ee7e 100644 --- a/public/js/components/ChannelList.js +++ b/public/js/components/ChannelList.js @@ -283,25 +283,33 @@ class ChannelList { if (channels.length === 0) continue; const isFavoritesGroup = groupName === 'Favorites'; - const groupHidden = !isFavoritesGroup && channels.length > 0 && this.isHidden('group', channels[0].sourceId, groupName); - if (groupHidden && !this.showHidden) continue; + // Pre-filter visible channels for this group + const visibleChannels = channels.filter(channel => { + if (isFavoritesGroup) return true; + const rawChannelId = channel.streamId || channel.id; + const channelHidden = this.isHidden('channel', channel.sourceId, rawChannelId); + return !channelHidden || this.showHidden; + }); + + // Skip group if no visible channels (derived visibility) + if (visibleChannels.length === 0) continue; html += `