Make extension filtering options optional
This commit is contained in:
@@ -102,17 +102,25 @@ export const getLanguagesFromExtensions = (extensions: TExtension[]): string[] =
|
|||||||
|
|
||||||
export const filterExtensions = (
|
export const filterExtensions = (
|
||||||
extensions: TExtension[],
|
extensions: TExtension[],
|
||||||
selectedLanguages: string[],
|
{
|
||||||
showNsfw: boolean,
|
selectedLanguages,
|
||||||
query: string | null | undefined,
|
showNsfw,
|
||||||
|
query,
|
||||||
|
}: {
|
||||||
|
selectedLanguages?: string[];
|
||||||
|
showNsfw?: boolean;
|
||||||
|
query?: string | null | undefined;
|
||||||
|
} = {},
|
||||||
): TExtension[] => {
|
): TExtension[] => {
|
||||||
const normalizedSelectedLanguages = toComparableLanguages(toUniqueLanguageCodes(selectedLanguages));
|
const normalizedSelectedLanguages = toComparableLanguages(toUniqueLanguageCodes(selectedLanguages ?? []));
|
||||||
|
|
||||||
return extensions
|
return extensions
|
||||||
.filter(
|
.filter(
|
||||||
(extension) =>
|
(extension) =>
|
||||||
normalizedSelectedLanguages.includes(toComparableLanguage(extension.lang)) || extension.isInstalled,
|
!selectedLanguages ||
|
||||||
|
normalizedSelectedLanguages.includes(toComparableLanguage(extension.lang)) ||
|
||||||
|
extension.isInstalled,
|
||||||
)
|
)
|
||||||
.filter((extension) => showNsfw || !extension.isNsfw)
|
.filter((extension) => showNsfw === undefined || showNsfw || !extension.isNsfw)
|
||||||
.filter((extension) => !query || enhancedCleanup(extension.name).includes(enhancedCleanup(query)));
|
.filter((extension) => query == null || enhancedCleanup(extension.name).includes(enhancedCleanup(query)));
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user