mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-15 05:36:17 -08:00
feat: enhance EPG and portal features with error suppression and status resolution
- Added suppressErrorLog option to EPG API calls in withEpg feature. - Introduced resolvePortalStatus function to streamline portal status checks in withPortal feature. - Updated checkPortalStatus to return PortalStatusType instead of void. - Enhanced XtreamStore to preserve cancelled content initialization block. - Expanded XtreamState to include contentInitBlockReason for better state management. - Added XtreamContentGateComponent to manage content initialization states. - Implemented tests for XtreamContentGateComponent to ensure correct rendering based on contentInitBlockReason. - Created PlaylistRefreshService to handle playlist refresh operations and events. - Introduced new IPC commands for playlist refresh functionality. - Added interfaces for playlist refresh events and payloads to improve type safety.
This commit is contained in:
1 parent
4e0afe8b20
commit
91cd650c1a
55 files changed
+3485
-397
No files matched your search
@@ -12,6 +12,7 @@ export * from './lib/language.enum';
|
||||
export * from './lib/parsed-playlist.interface';
|
||||
export * from './lib/playback-position.interface';
|
||||
export * from './lib/playlist-meta.type';
|
||||
export * from './lib/playlist-refresh.interface';
|
||||
export * from './lib/playlist-recently-viewed.interface';
|
||||
export * from './lib/playlist-recently-viewed.utils';
|
||||
export * from './lib/playlist.interface';
|
||||
|
||||
@@ -12,6 +12,9 @@ export const EPG_FORCE_FETCH = 'EPG:EPG_FORCE_FETCH';
|
||||
// Playlist related commands
|
||||
export const PLAYLIST_PARSE_BY_URL = 'PLAYLIST:PARSE_PLAYLIST_BY_URL';
|
||||
export const PLAYLIST_UPDATE = 'PLAYLIST:UPDATE';
|
||||
export const PLAYLIST_REFRESH = 'PLAYLIST:REFRESH';
|
||||
export const PLAYLIST_REFRESH_EVENT = 'PLAYLIST:REFRESH_EVENT';
|
||||
export const PLAYLIST_CANCEL_REFRESH = 'PLAYLIST:CANCEL_REFRESH';
|
||||
|
||||
// General
|
||||
export const ERROR = 'ERROR';
|
||||
@@ -38,6 +41,7 @@ export const EXTERNAL_PLAYER_SESSION_UPDATE =
|
||||
// Xtream
|
||||
export const XTREAM_REQUEST = 'XTREAM_REQUEST';
|
||||
export const XTREAM_RESPONSE = 'XTREAM_RESPONSE';
|
||||
export const XTREAM_CANCEL_SESSION = 'XTREAM_CANCEL_SESSION';
|
||||
|
||||
// Stalker
|
||||
export const STALKER_REQUEST = 'STALKER_REQUEST';
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
export type PlaylistRefreshPhase =
|
||||
| 'fetching'
|
||||
| 'reading-file'
|
||||
| 'parsing'
|
||||
| 'saving';
|
||||
|
||||
export type PlaylistRefreshStatus =
|
||||
| 'started'
|
||||
| 'progress'
|
||||
| 'completed'
|
||||
| 'cancelled'
|
||||
| 'error';
|
||||
|
||||
export interface PlaylistRefreshEvent {
|
||||
operationId: string;
|
||||
playlistId: string;
|
||||
phase?: PlaylistRefreshPhase;
|
||||
status: PlaylistRefreshStatus;
|
||||
error?: string;
|
||||
}
|
||||
|
||||
export interface PlaylistRefreshPayload {
|
||||
operationId: string;
|
||||
playlistId: string;
|
||||
title: string;
|
||||
filePath?: string;
|
||||
url?: string;
|
||||
}
|
||||
Reference in new issue
Block a user