Skip to content

Frontend: add channel day programme and EPG actions - #78

Draft
hotzenplotz5 wants to merge 38 commits into
fix/timer-searchtimer-user-workflowsfrom
frontend/channel-day-program-actions
Draft

Frontend: add channel day programme and EPG actions#78
hotzenplotz5 wants to merge 38 commits into
fix/timer-searchtimer-user-workflowsfrom
frontend/channel-day-program-actions

Conversation

@hotzenplotz5

@hotzenplotz5 hotzenplotz5 commented Jul 18, 2026

Copy link
Copy Markdown
Owner

Summary

This is a stacked frontend pull request based on PR #77 (fix/timer-searchtimer-user-workflows). It contains only the channel-day-programme follow-up and will be retargeted to main after PR #77 is merged.

Channel navigation

  • open a dedicated day programme by clicking a channel in the grouped channel list
  • keep the existing channel-list DOM mounted but hidden while the programme is open
  • restore open groups, active filters, channel-pane scroll position, page scroll position and keyboard focus with ← Zurück zur Kanalliste
  • provide previous day, today, next day and date-picker navigation
  • use the selective EPG cache window first, refresh the cache when needed and fall back to the live channel-window endpoint
  • mark the current programme and show its progress

Programme details and actions

  • open the selected event as a dedicated detail view instead of forcing the user to find an inline card below the programme list
  • restore the exact programme-list position with ← Zurück zum Tagesprogramm
  • reuse the established EPG detail and safe Timer-create workflow
  • replace the previous disabled placeholders with:
    • Serientimer
    • Erweiterter SearchTimer
  • create a series SearchTimer only after an explicit confirmation
  • support SearchTimer scopes:
    • current channel
    • current real VDR channel group
    • all channels
  • preview SearchTimer matches before creation
  • open the full SearchTimer editor with title, repeat protection and channel scope prefilled

Runtime and packaging

  • keep channel-logos.js limited to logo lookup and rendering
  • build the browser-served /frontend/channel-browser.js from:
    • web/frontend/modules/channels.js
    • web/frontend/channel-day-program.js
    • web/frontend/channel-day-program-compat.js
  • use the already supported /frontend/channel-browser.js daemon route; no new static route and no daemon source change
  • add focused Node runtime coverage to the standard frontend test group
  • keep all HTTP calls behind VdrSuiteClientApi

Safety

  • no live Timer or SearchTimer was created, modified or deleted during implementation
  • Timer creation continues to use the existing safe EPG Timer workflow
  • SearchTimer creation requires confirmation
  • this PR does not modify daemon or backend source code
  • unrelated recording-trash runtime work was removed from this branch

Manual acceptance pending

  1. Install the generated channel-browser.js bundle and restored channel-logos.js.
  2. Open a grouped channel list and scroll to a channel.
  3. Open its day programme.
  4. Navigate between dates and open an event.
  5. Verify the dedicated detail view contains active Timer, Serientimer and advanced SearchTimer actions.
  6. Return to the programme list and channel list and verify exact position restoration.
  7. Preview a clearly named temporary series SearchTimer before creating any temporary test entry.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant