mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
28 lines
768 B
TypeScript
28 lines
768 B
TypeScript
![]() |
import type { TaskInfo } from '@jellyfin/sdk/lib/generated-client/models/task-info';
|
||
|
|
||
|
export function getCategories(tasks: TaskInfo[] | undefined) {
|
||
|
if (!tasks) return [];
|
||
|
|
||
|
const categories: string[] = [];
|
||
|
|
||
|
for (const task of tasks) {
|
||
|
if (task.Category && !categories.includes(task.Category)) {
|
||
|
categories.push(task.Category);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return categories.sort((a, b) => a.localeCompare(b));
|
||
|
}
|
||
|
|
||
|
export function getTasksByCategory(tasks: TaskInfo[] | undefined, category: string) {
|
||
|
if (!tasks) return [];
|
||
|
|
||
|
return tasks.filter(task => task.Category == category).sort((a, b) => {
|
||
|
if (a.Name && b.Name) {
|
||
|
return a.Name?.localeCompare(b.Name);
|
||
|
} else {
|
||
|
return 0;
|
||
|
}
|
||
|
});
|
||
|
}
|