feat: add portal inline player component and integrate with existing views

- Introduced `PortalInlinePlayerComponent` with SCSS styles for inline playback.
- Updated `StalkerSeriesViewComponent` to utilize the new inline player for episode playback.
- Enhanced `CategoryContentViewComponent`, `SerialDetailsComponent`, and `VodDetailsRouteComponent` to support inline playback functionality.
- Implemented time update handling and stream URL copy notifications across components.
- Created `ResolvedPortalPlayback` and `PlayerContentInfo` interfaces for structured playback data.
- Updated relevant services and stores to manage playback state and positions.
This commit is contained in:
4gray committed 2026-03-06 23:30:16 +01:00
1 parent 7bb61ab64c
commit e2cdcd5f22
20 files changed
+874 -127

No files matched your search

+1
View File
@@ -10,6 +10,7 @@ export * from './lib/ipc-commands';
export * from './lib/language.enum';
export * from './lib/parsed-playlist.interface';
export * from './lib/playback-position.interface';
export * from './lib/portal-playback.interface';
export * from './lib/playlist-meta.type';
export * from './lib/playlist.interface';
export * from './lib/settings.interface';
@@ -0,0 +1,21 @@
import { PlaybackPositionData } from './playback-position.interface';
export interface PlayerContentInfo
extends Omit<
PlaybackPositionData,
'positionSeconds' | 'durationSeconds' | 'updatedAt'
> {
playlistId: string;
}
export interface ResolvedPortalPlayback {
streamUrl: string;
title: string;
thumbnail?: string | null;
startTime?: number;
contentInfo?: PlayerContentInfo;
headers?: Record<string, string>;
userAgent?: string;
referer?: string;
origin?: string;
}