diff --git a/CHANGELOG.md b/CHANGELOG.md index af516928..c6606c9b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Added + +- Channel table filter for channels that have stale streams: A new "Has Stale Streams" filter option in the channel table header menu highlights and filters channels containing at least one stale stream. Channels with stale streams are visually distinguished with an orange tint. The filter is mutually exclusive with "Only Empty Channels". - Thanks [@JCBird1012](https://github.com/JCBird1012) + ## [0.20.2] - 2026-03-03 ### Security diff --git a/frontend/src/components/tables/ChannelsTable.jsx b/frontend/src/components/tables/ChannelsTable.jsx index c627495a..b6b93f43 100644 --- a/frontend/src/components/tables/ChannelsTable.jsx +++ b/frontend/src/components/tables/ChannelsTable.jsx @@ -277,7 +277,7 @@ const ChannelsTable = ({ onReady }) => { if (!hasStreams) { map[channel.id] = 'no-streams-row'; } else if (channel.streams.some((s) => s.is_stale)) { - map[channel.id] = 'partially-stale-streams-row'; + map[channel.id] = 'has-stale-streams-row'; } } return map; diff --git a/frontend/src/components/tables/table.css b/frontend/src/components/tables/table.css index 0e02dc1e..1e21540a 100644 --- a/frontend/src/components/tables/table.css +++ b/frontend/src/components/tables/table.css @@ -140,14 +140,14 @@ html { background-color: color-mix(in srgb, rgb(239, 68, 68) 30%, #27272a) !important; } -/* Rows that contain some stale streams (may be mixed with active) */ -.partially-stale-streams-row { +/* Rows that contain at least 1 stale stream (may be mixed with active) */ +.has-stale-streams-row { background-color: rgba(239, 154, 68, 0.15) !important; /* orange-500 @ 12% */ box-shadow: inset 0 0 0 1px rgba(239, 154, 68, 0.3); } -.table-striped .tbody .tr.partially-stale-streams-row:hover { +.table-striped .tbody .tr.has-stale-streams-row:hover { background-color: rgba(239, 154, 68, 0.3) !important; }