mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-08 09:01:03 -08:00
2.8 KiB
2.8 KiB
Unified Live EPG Toolbar
Summary
Merge the current-program strip and date navigator into one shared app-live-epg-panel toolbar for M3U, Xtream, and Stalker live playback. The EPG list starts directly below the unified toolbar when the panel is expanded. In collapsed mode, keep the slim current-program strip and show a compact date chip.
Key Changes
- Update
EpgListComponentto support controlled date state:- Add
[selectedDate],(selectedDateChange), and[showDateNavigator]. - Rename its internal date signal to avoid API collision.
- Keep existing standalone behavior by default, so non-live or external-player layouts still show the internal date row.
- Add
- Add small shared EPG date helpers in
@iptvnator/ui/epg:- Today date key.
- Parse date key.
- Shift date key by previous/next day.
- Extend
LiveEpgPanelComponentwith optional date navigation:- Inputs:
[showDateNavigator],[selectedDate]. - Output:
(dateNavigation)emittingprev | next. - Expanded toolbar: collapse button, current-program label/title/time, previous-day button, date label, next-day button, progress line.
- Collapsed toolbar: current-program summary plus compact date chip; the chip opens a small menu for previous/next day on narrow or collapsed states.
- Inputs:
- Wire the unified toolbar into M3U, Xtream, and Stalker live layouts.
- Update focused unit specs and e2e selectors that currently assume
.selected-date/.next-daylive insideapp-epg-list. - Update
docs/architecture/iptvnator-ui-guidelines.mdto document that live inline-player layouts use the unified current-program/date toolbar.
Test Plan
- Run unit tests:
pnpm nx test ui-epgpnpm nx test shared-portalspnpm nx test portal-xtream-featurepnpm nx test portal-stalker-featurepnpm nx test web
- Run build/type validation through Nx:
pnpm nx build web --configuration=development
- Use the running Electron app via CDP
127.0.0.1:9222withagent-browser:- Verify the IPTVnator page target is selected.
- Confirm the old
app-epg-list #channel-headerdate row is absent when wrapped byapp-live-epg-panel. - Confirm the program list starts immediately below the unified toolbar.
- Click previous/next day in the unified toolbar and verify visible EPG programs change.
- Collapse the panel and verify the slim strip remains, body is inert, and the date chip stays visible.
- Capture a screenshot for visual confirmation.
- If docs changed and
IPTVNATOR_WIKI_VAULTis configured, runpnpm wiki:export --mode changed.
Assumptions
- Keep external MPV/VLC and non-inline layouts on the existing full EPG list behavior.
- Use existing translation keys for current program, loading, no program info, previous day, and next day.
- Leave unrelated dirty worktree changes untouched.