diff --git a/src/app/player/components/epg-list/epg-list.component.ts b/src/app/player/components/epg-list/epg-list.component.ts index b8d4bd76e..431814494 100644 --- a/src/app/player/components/epg-list/epg-list.component.ts +++ b/src/app/player/components/epg-list/epg-list.component.ts @@ -105,6 +105,7 @@ export class EpgListComponent { } else { this.items = []; this.channel = null; + this.channelStore.setCurrentEpgProgram(undefined); } } @@ -155,6 +156,7 @@ export class EpgListComponent { this.playingNow = this.items.find( (item) => this.timeNow >= item.start && this.timeNow <= item.stop ); + this.channelStore.setCurrentEpgProgram(this.playingNow); } /** diff --git a/src/app/state/channel.store.ts b/src/app/state/channel.store.ts index 5ae534f68..2a282be89 100644 --- a/src/app/state/channel.store.ts +++ b/src/app/state/channel.store.ts @@ -9,6 +9,7 @@ import { EpgProgram } from '../player/models/epg-program.model'; export interface ChannelState extends EntityState { active: Channel; epgAvailable: boolean; + currentEpgProgram: EpgProgram; favorites: string[]; playlistId: string; } @@ -23,6 +24,7 @@ export class ChannelStore extends EntityStore { constructor(private electronService: ElectronService) { super({ active: undefined, + currentEpgProgram: undefined, epgAvailable: false, favorites: [], playlistId: '', @@ -123,4 +125,15 @@ export class ChannelStore extends EntityStore { }; }); } + + /** + * Updates the active epg program for the active channel + * @param currentEpgProgram program to set + */ + setCurrentEpgProgram(currentEpgProgram: EpgProgram): void { + this.update((store) => ({ + ...store, + currentEpgProgram, + })); + } }