Get rid of forced "All" extensions language

This commit is contained in:
schroda
2025-04-21 00:59:30 +02:00
parent 05082c24f4
commit 214fa7710d
4 changed files with 13 additions and 23 deletions

View File

@@ -55,7 +55,7 @@ function defaultNativeLang(): readonly string[] {
}
export function extensionDefaultLangs(): string[] {
return [...defaultNativeLang(), DefaultLanguage.ALL];
return [...defaultNativeLang()];
}
export function sourceDefualtLangs(): string[] {

View File

@@ -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[];
};

View File

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

View File

@@ -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],
);