mirror of
https://github.com/Prowlarr/Prowlarr.git
synced 2026-04-19 22:04:56 -04:00
Refactor Indexer index to use react-window
(cherry picked from commit d022679b7dcbce3cec98e6a1fd0879e3c0d92523)
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
import React from 'react';
|
||||
import Label from 'Components/Label';
|
||||
import { IndexerCapabilities } from 'Indexer/Indexer';
|
||||
|
||||
interface CapabilitiesLabelProps {
|
||||
capabilities: IndexerCapabilities;
|
||||
categoryFilter?: number[];
|
||||
}
|
||||
|
||||
function CapabilitiesLabel(props: CapabilitiesLabelProps) {
|
||||
const { categoryFilter = [] } = props;
|
||||
|
||||
const { categories = [] } = props.capabilities;
|
||||
|
||||
let filteredList = categories.filter((item) => item.id < 100000);
|
||||
|
||||
if (categoryFilter.length > 0) {
|
||||
filteredList = filteredList.filter(
|
||||
(item) =>
|
||||
categoryFilter.includes(item.id) ||
|
||||
(item.subCategories &&
|
||||
item.subCategories.some((r) => categoryFilter.includes(r.id)))
|
||||
);
|
||||
}
|
||||
|
||||
const nameList = filteredList.map((item) => item.name).sort();
|
||||
|
||||
return (
|
||||
<span>
|
||||
{nameList.map((category) => {
|
||||
return <Label key={category}>{category}</Label>;
|
||||
})}
|
||||
|
||||
{filteredList.length === 0 ? <Label>{'None'}</Label> : null}
|
||||
</span>
|
||||
);
|
||||
}
|
||||
|
||||
export default CapabilitiesLabel;
|
||||
Reference in New Issue
Block a user