feat(ui): surface live language filters and built-in EPG sources (#23)

Add language filter controls for projected live channels, preserve backend language views in the browser, and separate built-in EPG sources from custom sources.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
blomios
2026-10-06 11:42:23 +02:00
parent 2a1c745a26
commit 638a31d9ef
9 changed files with 425 additions and 25 deletions

View File

@ -19,6 +19,7 @@ class EpgGuide {
this.timeOffset = 0; // Hours offset from now
this.pixelsPerMinute = 6.67; // Width scaling (30min = 200px)
this.favorites = new Set(); // Set<"sourceId:channelId">
this.loadError = null;
this.selectedGroup = 'Favorites'; // Default to Favorites
// Virtual scrolling properties
@ -175,6 +176,7 @@ class EpgGuide {
try {
this.container.innerHTML = '<div class="loading"></div>';
await this.fetchEpgData(forceRefresh);
this.loadError = null;
this.lastRefreshTime = new Date();
this.render();
@ -182,6 +184,7 @@ class EpgGuide {
// This ensures EPG data stays fresh while the app is open
this.startBackgroundRefresh();
} catch (err) {
this.loadError = err;
console.error('Error loading EPG:', err);
this.container.innerHTML = `
<div class="empty-state">