Proyecto App Linux

This commit is contained in:
2026-05-03 23:43:09 +02:00
commit 7482733843
1248 changed files with 189750 additions and 0 deletions
@@ -0,0 +1,66 @@
import { GlobalSearchResult } from 'services';
import {
EpgItem,
XtreamCategory,
XtreamLiveStream,
XtreamSerieItem,
XtreamVodStream,
} from 'shared-interfaces';
import {
XtreamContentItem,
XtreamPlaylistData,
} from './data-sources/xtream-data-source.interface';
export type ContentType = 'live' | 'vod' | 'series';
export type XtreamContentLoadState = 'idle' | 'loading' | 'ready' | 'error';
export type XtreamContentLoadStateByType = Record<
ContentType,
XtreamContentLoadState
>;
export type PortalStatusType =
| 'active'
| 'inactive'
| 'expired'
| 'unavailable';
export type XtreamContentInitBlockReason =
| 'cancelled'
| 'expired'
| 'inactive'
| 'unavailable'
| 'error';
export interface XtreamPortalStatus {
status: 'active' | 'inactive' | 'expired' | 'unavailable';
message?: string;
}
export interface XtreamState {
isLoadingCategories: boolean;
isLoadingContent: boolean;
isImporting: boolean;
contentLoadStateByType: XtreamContentLoadStateByType;
liveCategories: XtreamCategory[];
vodCategories: XtreamCategory[];
serialCategories: XtreamCategory[];
liveStreams: XtreamLiveStream[];
vodStreams: XtreamVodStream[];
serialStreams: XtreamSerieItem[];
page: number;
limit: number;
selectedCategoryId: number | null;
searchResults: XtreamContentItem[];
selectedContentType: ContentType;
selectedItem: unknown | null;
importCount: number;
itemsToImport: number;
currentPlaylist: XtreamPlaylistData | null;
epgItems: EpgItem[];
hideExternalInfoDialog: boolean;
portalStatus: PortalStatusType;
contentInitBlockReason: XtreamContentInitBlockReason | null;
globalSearchResults: GlobalSearchResult[];
streamUrl: string;
playlistId: string | null;
}