From e1905b267b3a53e5b4ac930d9ebc05753f0717a2 Mon Sep 17 00:00:00 2001 From: schroda <50052685+schroda@users.noreply.github.com> Date: Thu, 24 Apr 2025 13:44:59 +0200 Subject: [PATCH] Make extension filtering options optional --- src/modules/extension/Extensions.utils.ts | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/src/modules/extension/Extensions.utils.ts b/src/modules/extension/Extensions.utils.ts index aafaef4e..78cabe87 100644 --- a/src/modules/extension/Extensions.utils.ts +++ b/src/modules/extension/Extensions.utils.ts @@ -102,17 +102,25 @@ export const getLanguagesFromExtensions = (extensions: TExtension[]): string[] = export const filterExtensions = ( extensions: TExtension[], - selectedLanguages: string[], - showNsfw: boolean, - query: string | null | undefined, + { + selectedLanguages, + showNsfw, + query, + }: { + selectedLanguages?: string[]; + showNsfw?: boolean; + query?: string | null | undefined; + } = {}, ): TExtension[] => { - const normalizedSelectedLanguages = toComparableLanguages(toUniqueLanguageCodes(selectedLanguages)); + const normalizedSelectedLanguages = toComparableLanguages(toUniqueLanguageCodes(selectedLanguages ?? [])); return extensions .filter( (extension) => - normalizedSelectedLanguages.includes(toComparableLanguage(extension.lang)) || extension.isInstalled, + !selectedLanguages || + normalizedSelectedLanguages.includes(toComparableLanguage(extension.lang)) || + extension.isInstalled, ) - .filter((extension) => showNsfw || !extension.isNsfw) - .filter((extension) => !query || enhancedCleanup(extension.name).includes(enhancedCleanup(query))); + .filter((extension) => showNsfw === undefined || showNsfw || !extension.isNsfw) + .filter((extension) => query == null || enhancedCleanup(extension.name).includes(enhancedCleanup(query))); };