--- /** * Features as a bento of small interface fragments. Each cell shows the piece * of the app it talks about — EPG rows with progress, posters with a resume * bar, a download queue with a REC dot — instead of an icon metaphor. Every * channel, program and title below is fictional demo content. */ const sources = [ { label: 'M3U / M3U8', href: '/iptvnator/features/m3u-player/' }, { label: 'Xtream Codes', href: '/iptvnator/features/xtream-codes-player/' }, { label: 'Stalker portal', href: '/iptvnator/features/stalker-portal-player/' }, ]; const guide = [ { badge: 'AUR', channel: 'Aurora News', program: 'Evening edition', progress: 26, ends: '19:30' }, { badge: 'FSS', channel: 'Fieldside Sports', program: 'Late Kickoff · match of the day', progress: 71, ends: '22:15' }, { badge: 'KLB', channel: 'Kitchen Lab', program: 'Sourdough, second attempt', progress: 44, ends: '20:00' }, ]; const posters = [ { title: 'Signal Lost', progress: 62, tint: 'linear-gradient(160deg, #1d4f52, #0c1a1c)' }, { title: 'Night Desk', progress: 18, tint: 'linear-gradient(160deg, #5a3a24, #1a120c)' }, { title: 'Harbor Lights', progress: 0, tint: 'linear-gradient(160deg, #3b2f6b, #12101c)' }, ]; const players = ['Built-in', 'Embedded MPV', 'MPV', 'VLC']; const platforms = [ { name: 'macOS', detail: 'Intel · Apple Silicon' }, { name: 'Windows', detail: 'installer · portable' }, { name: 'Linux', detail: 'AppImage · deb · rpm · Snap · Flatpak' }, { name: 'Web', detail: 'Docker · PWA' }, ]; const cellClass = 'group relative flex flex-col gap-3 overflow-hidden rounded-xl border border-surface-800 bg-surface-900/40 p-6 transition-colors duration-300'; const linkCellClass = `${cellClass} hover:border-surface-600 hover:bg-surface-900/70`; ---

Built like a TV app, not a file browser

Everything a living-room player needs, on a desktop and in the browser.