feat(live): show language-scoped stream variants

Keep live stream variant expansion scoped to the selected language while preserving the legacy all-language variants response when no language is provided.

Display projected current EPG programme data in live rows and distinguish selected streams from actively playing streams in the collapsed variant UI.

Refs #43

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
blomios
2026-10-08 19:00:14 +02:00
parent 9e6b1d4593
commit 8f2825f697
9 changed files with 298 additions and 11 deletions

View File

@ -47,6 +47,11 @@ test('live API sends flexible search and selected language filters', async () =>
const params = new URL(requestedUrl, 'http://nodecast.test').searchParams;
assert.equal(params.get('q'), 'Bein Sport 1');
assert.equal(params.get('languages'), 'fr,en');
await dom.window.API.live.getChannelVariants('logical:bein-1', { language: 'fr' });
const variantUrl = new URL(requestedUrl, 'http://nodecast.test');
assert.equal(variantUrl.pathname, '/api/live/channels/logical%3Abein-1/variants');
assert.equal(variantUrl.searchParams.get('language'), 'fr');
});
test('built-in EPG sources expose only refresh and enable controls', () => {