Skip to main content

Interfaces

Explore the interfaces that define the IPTV JSON structure and behavior for robust IPTV service integration, ensuring standardization and functionality across the system.

Interface Definitions

IMultiLanguageText

Defines the structure for multi-language text support, allowing content to be displayed in different languages based on user preferences.

interface IMultiLanguageText {
en?: string;
[key: string]: string | undefined;
}

IThemeColors

Defines the structure for theme colors, allowing content to be displayed in different colors based on user preferences.

interface IThemeColors {
light?: string;
dark?: string;
[key: string]: string | undefined;
}

IPaging

Provides the keys used for pagination API requests, ensuring that data fetching aligns with front-end pagination structures.

interface IPaging {
page_key: string;
size_key: string;
}

IPageInfo

Manages pagination information, crucial for structuring the display of lists and content across multiple pages.

interface IPageInfo {
current_page: number;
total: number;
per_page: number;
last_page: number;
}

IImage

IImage defines the properties required to control how images are displayed within the application.

interface IImage {
type: IMAGE_DISPLAY_TYPE;
url: string;
height?: number;
width?: number;
}

enum IMAGE_DISPLAY_TYPE {
COVER = 'cover',
CONTAIN = 'contain',
}

INotice

INotice defines the properties required to control how notices are displayed within the application.

interface INotice {
id: string;
link?: string;
text?: string;
icon?: string;
closeable?: boolean;
}

IRequestHeaderRow

Specifies individual headers for HTTP requests, essential for configuring API calls that require authentication or specific content types.

interface IRequestHeaderRow {
key: string;
value: string;
}

IRemoteData

Facilitates the configuration for remote data fetching, enabling or disabling remote data sources and specifying request headers IRequestHeaderRow for API calls.

interface IRemoteData {
url: string;
request_headers?: Array<IRequestHeaderRow>;
}

ISearchConfig

Configures search functionality, enabling robust search capabilities including autosuggest, through specified endpoints.

It leverages the IPaging interface for pagination settings.

interface ISearchConfig {
url: string;
suggest_url?: string;
search_key: string;
paging: IPaging;
request_headers?: Array<IRequestHeaderRow>;
}

ISortItem

Enables sorting mechanisms within the application, allowing users to organize displayed data according to various criteria.

interface ISortItem {
type: SORT_ITEM_TYPE;
text?: string;
url?: string;
icon?: string;
value?: Array<ISortItem>;
request_headers?: Array<IRequestHeaderRow>;
}

enum SORT_ITEM_TYPE {
RADIO = 'radio',
DROPDOWN = 'dropdown',
}

IOrgMetadata

Provides metadata for the organization, including image, title, and description.

interface IOrgMetadata {
image?: string;
title?: string;
description?: string;
}