mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-12 20:16:15 -08:00
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:
1 parent
ffc07146fe
commit
89916af9d8
65 files changed
+3010
-391
No files matched your search
@@ -42,6 +42,15 @@ describe('workspace-shell-route.utils', () => {
|
||||
usesQuerySearch: true,
|
||||
})
|
||||
);
|
||||
expect(parseWorkspaceShellRoute('/workspace/search?q=matrix')).toEqual(
|
||||
expect.objectContaining({
|
||||
kind: 'global-search',
|
||||
context: null,
|
||||
contextPanel: 'none',
|
||||
searchMode: 'remote-search',
|
||||
usesQuerySearch: true,
|
||||
})
|
||||
);
|
||||
expect(parseWorkspaceShellRoute('/workspace/downloads')).toEqual(
|
||||
expect.objectContaining({
|
||||
kind: 'downloads',
|
||||
|
||||
@@ -8,6 +8,7 @@ export type WorkspaceShellPageKind =
|
||||
| 'downloads'
|
||||
| 'global-favorites'
|
||||
| 'global-recent'
|
||||
| 'global-search'
|
||||
| 'portal'
|
||||
| 'settings'
|
||||
| 'sources'
|
||||
@@ -194,6 +195,10 @@ function resolveRouteSearchMode(
|
||||
return 'local-filter';
|
||||
}
|
||||
|
||||
if (kind === 'global-search') {
|
||||
return 'remote-search';
|
||||
}
|
||||
|
||||
if (kind === 'portal') {
|
||||
return resolvePortalSearchMode(context, section);
|
||||
}
|
||||
@@ -288,9 +293,11 @@ export function parseWorkspaceShellRoute(url: string): WorkspaceShellRoute {
|
||||
? 'global-favorites'
|
||||
: page === 'global-recent'
|
||||
? 'global-recent'
|
||||
: page === 'downloads'
|
||||
? 'downloads'
|
||||
: 'unknown';
|
||||
: page === 'search'
|
||||
? 'global-search'
|
||||
: page === 'downloads'
|
||||
? 'downloads'
|
||||
: 'unknown';
|
||||
const searchMode = resolveRouteSearchMode(kind, null, null);
|
||||
|
||||
return {
|
||||
|
||||
Reference in new issue
Block a user