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

@@ -4,7 +4,10 @@
*/
import { Injectable } from '@angular/core';
import {
import type {
GlobalSearchPaginationOptions,
GlobalSearchResult,
GlobalSearchResultSource,
PlaylistMeta,
XtreamBackupFavoriteItem,
XtreamBackupHiddenCategory,
@@ -78,10 +81,7 @@ type XtreamContentStream =
}
| Record<string, unknown>;
export interface GlobalSearchResult extends XtreamContent {
playlist_id: string;
playlist_name: string;
}
export type { GlobalSearchResult };
export interface GlobalRecentItem extends XtreamContent {
playlist_id: string;
@@ -590,12 +590,16 @@ export class DatabaseService {
async globalSearchContent(
searchTerm: string,
types: string[],
excludeHidden?: boolean
excludeHidden?: boolean,
sources?: GlobalSearchResultSource[],
options?: GlobalSearchPaginationOptions
): Promise<GlobalSearchResult[]> {
return await window.electron.dbGlobalSearch(
searchTerm,
types,
excludeHidden
excludeHidden,
sources,
options
);
}