feat(search): add workspace global search with M3U support

Moves global search into a routed workspace view, adds M3U live/radio results, lazy pagination, and DB-backed matching improvements.
This commit is contained in:
4gray authored and GitHub committed 2026-06-20 23:05:48 +02:00
1 parent ffc07146fe
commit 89916af9d8
65 files changed
+3010 -391

No files matched your search

@@ -7,6 +7,11 @@ import {
import { EpgChannelMetadata } from './epg-channel-metadata.model';
import { EpgProgram } from './epg-program.model';
import { ExternalPlayerSession } from './external-player-session.interface';
import {
GlobalSearchPaginationOptions,
GlobalSearchResult,
GlobalSearchResultSource,
} from './global-search-result.interface';
import { PlaybackPositionData } from './playback-position.interface';
import {
XtreamBackupFavoriteItem,
@@ -322,10 +327,7 @@ export type ElectronBridgeXtreamContentStream =
}
| Record<string, unknown>;
export interface ElectronBridgeGlobalSearchResult extends ElectronBridgeXtreamContent {
playlist_id: string;
playlist_name: string;
}
export type ElectronBridgeGlobalSearchResult = GlobalSearchResult;
export interface ElectronBridgeGlobalRecentItem extends ElectronBridgeXtreamContent {
playlist_id: string;
@@ -630,7 +632,9 @@ export interface ElectronBridgeApi {
dbGlobalSearch: (
searchTerm: string,
types: string[],
excludeHidden?: boolean
excludeHidden?: boolean,
sources?: GlobalSearchResultSource[],
options?: GlobalSearchPaginationOptions
) => Promise<ElectronBridgeGlobalSearchResult[]>;
dbGetGlobalRecentlyAdded: (
kind: ElectronBridgeGlobalRecentlyAddedKind,