diff --git a/src/modules/core/utils/Languages.ts b/src/modules/core/utils/Languages.ts index 992e3336..d5fd9488 100644 --- a/src/modules/core/utils/Languages.ts +++ b/src/modules/core/utils/Languages.ts @@ -55,7 +55,7 @@ function defaultNativeLang(): readonly string[] { } export function extensionDefaultLangs(): string[] { - return [...defaultNativeLang(), DefaultLanguage.ALL]; + return [...defaultNativeLang()]; } export function sourceDefualtLangs(): string[] { diff --git a/src/modules/extension/Extensions.types.ts b/src/modules/extension/Extensions.types.ts index 3237faca..1625b149 100644 --- a/src/modules/extension/Extensions.types.ts +++ b/src/modules/extension/Extensions.types.ts @@ -6,7 +6,6 @@ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -import { DefaultLanguage } from '@/modules/core/utils/Languages.ts'; import { ExtensionType } from '@/lib/graphql/generated/graphql.ts'; export enum ExtensionAction { @@ -54,8 +53,6 @@ export type GroupedByExtensionState = { }; export type GroupedByLanguage = { - [language in DefaultLanguage]: TExtension[]; -} & { [language: string]: TExtension[]; }; diff --git a/src/modules/extension/Extensions.utils.ts b/src/modules/extension/Extensions.utils.ts index 202263bf..32b8a2e4 100644 --- a/src/modules/extension/Extensions.utils.ts +++ b/src/modules/extension/Extensions.utils.ts @@ -35,15 +35,16 @@ export const getInstalledState = ( return isInstalled ? InstalledState.UNINSTALL : InstalledState.INSTALL; }; +export const isExtensionState = (value: string): boolean => + [ExtensionGroupState.INSTALLED, ExtensionGroupState.UPDATE_PENDING, ExtensionGroupState.OBSOLETE].includes( + value as ExtensionGroupState, + ); + export const isExtensionStateOrLanguage = (languageCode: string): boolean => - [ - ExtensionGroupState.INSTALLED, - ExtensionGroupState.UPDATE_PENDING, - ExtensionGroupState.OBSOLETE, - DefaultLanguage.ALL, - DefaultLanguage.OTHER, - DefaultLanguage.LOCAL_SOURCE, - ].includes(languageCode as ExtensionGroupState | DefaultLanguage); + isExtensionState(languageCode) || + [DefaultLanguage.ALL, DefaultLanguage.OTHER, DefaultLanguage.LOCAL_SOURCE].includes( + languageCode as DefaultLanguage, + ); export const translateExtensionLanguage = (languageCode: string): string => isExtensionStateOrLanguage(languageCode) @@ -59,16 +60,11 @@ export function getExtensionsInfo(extensions: TExtension[]): { [ExtensionGroupState.OBSOLETE]: [], [ExtensionGroupState.INSTALLED]: [], [ExtensionGroupState.UPDATE_PENDING]: [], - [DefaultLanguage.ALL]: [], - [DefaultLanguage.OTHER]: [], - [DefaultLanguage.LOCAL_SOURCE]: [], }; extensions.forEach((extension) => { if (sortedExtensions[extension.lang] === undefined) { sortedExtensions[extension.lang] = []; - if (extension.lang !== 'all') { - allLangs.push(extension.lang); - } + allLangs.push(extension.lang); } if (extension.isInstalled) { if (extension.hasUpdate) { @@ -91,9 +87,6 @@ export function getExtensionsInfo(extensions: TExtension[]): { [ExtensionGroupState.OBSOLETE, sortedExtensions[ExtensionGroupState.OBSOLETE]], [ExtensionGroupState.UPDATE_PENDING, sortedExtensions[ExtensionGroupState.UPDATE_PENDING]], [ExtensionGroupState.INSTALLED, sortedExtensions[ExtensionGroupState.INSTALLED]], - [DefaultLanguage.ALL, sortedExtensions[DefaultLanguage.ALL]], - [DefaultLanguage.OTHER, sortedExtensions[DefaultLanguage.OTHER]], - [DefaultLanguage.LOCAL_SOURCE, sortedExtensions[DefaultLanguage.LOCAL_SOURCE]], ]; const langExt: GroupedExtensionsResult = allLangs.map((lang) => [lang, sortedExtensions[lang]]); diff --git a/src/modules/extension/screens/Extensions.tsx b/src/modules/extension/screens/Extensions.tsx index 67c996ab..7a27accf 100644 --- a/src/modules/extension/screens/Extensions.tsx +++ b/src/modules/extension/screens/Extensions.tsx @@ -33,7 +33,7 @@ import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts' import { VirtuosoUtil } from '@/lib/virtuoso/Virtuoso.util.tsx'; import { getExtensionsInfo, - isExtensionStateOrLanguage, + isExtensionState, translateExtensionLanguage, } from '@/modules/extension/Extensions.utils.ts'; import { @@ -110,7 +110,7 @@ export function Extensions({ tabsMenuHeight }: { tabsMenuHeight: number }) { () => groupedExtensions .filter((group) => group[EXTENSIONS].length > 0) - .filter((group) => isExtensionStateOrLanguage(group[LANGUAGE]) || shownLangs.includes(group[LANGUAGE])), + .filter((group) => isExtensionState(group[LANGUAGE]) || shownLangs.includes(group[LANGUAGE])), [shownLangs, groupedExtensions], );