Make extension filtering options optional

This commit is contained in:
schroda
2025-04-24 13:44:59 +02:00
parent 394d541746
commit e1905b267b

View File

@@ -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)));
}; };