mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-10 10:06:15 -08:00
- Added WorkspaceViewCommandService to UnifiedCollectionPageComponent for workspace layout commands. - Implemented clear current view command for favorites and recent items. - Updated unified favorites data service to use buildXtreamCollectionUid for UID generation. - Enhanced unified recent data service to normalize timestamps and handle backdrop URLs. - Introduced withRecentItems feature to manage recent item additions with backdrop support. - Updated VodDetailsRouteComponent and SerialDetailsComponent to backfill content backdrops. - Modified IXtreamDataSource interface to include backdrop URL handling for favorites and recent items. - Added tests for recent items feature to ensure correct functionality and backdrop handling.
45 lines
1.4 KiB
TypeScript
45 lines
1.4 KiB
TypeScript
import {
|
|
PortalActivityType,
|
|
StalkerPortalItem,
|
|
} from './stalker-portal-item.interface';
|
|
|
|
/**
|
|
* Base interface for cross-provider activity items (recently viewed,
|
|
* favorites) displayed on the dashboard and in global lists.
|
|
*/
|
|
export interface PortalActivityItem {
|
|
id: string | number;
|
|
title: string;
|
|
type: PortalActivityType;
|
|
playlist_id: string;
|
|
playlist_name?: string;
|
|
category_id: string | number;
|
|
xtream_id: string | number;
|
|
poster_url?: string;
|
|
/**
|
|
* Wide backdrop URL (typically 16:9), persisted when the user first views
|
|
* the detail page. Absent for stalker and for items that have never had
|
|
* their detail page opened. Dashboards should fall back to a blurred
|
|
* `poster_url` when undefined.
|
|
*/
|
|
backdrop_url?: string;
|
|
source?: 'xtream' | 'stalker' | 'm3u';
|
|
/** Original stalker item for navigation state; undefined for xtream. */
|
|
stalker_item?: StalkerPortalItem;
|
|
}
|
|
|
|
/** A recently-viewed item with a `viewed_at` timestamp. */
|
|
export interface PortalRecentItem extends PortalActivityItem {
|
|
viewed_at: string;
|
|
}
|
|
|
|
/** A favorite item with an `added_at` timestamp. */
|
|
export interface PortalFavoriteItem extends PortalActivityItem {
|
|
added_at: string;
|
|
}
|
|
|
|
/** A recently-added catalog item with an `added_at` timestamp. */
|
|
export interface PortalAddedItem extends PortalActivityItem {
|
|
added_at: string;
|
|
}
|