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[] { export function extensionDefaultLangs(): string[] {
return [...defaultNativeLang(), DefaultLanguage.ALL]; return [...defaultNativeLang()];
} }
export function sourceDefualtLangs(): string[] { export function sourceDefualtLangs(): string[] {

View File

@@ -6,7 +6,6 @@
* file, You can obtain one at https://mozilla.org/MPL/2.0/. * 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'; import { ExtensionType } from '@/lib/graphql/generated/graphql.ts';
export enum ExtensionAction { export enum ExtensionAction {
@@ -54,8 +53,6 @@ export type GroupedByExtensionState = {
}; };
export type GroupedByLanguage = { export type GroupedByLanguage = {
[language in DefaultLanguage]: TExtension[];
} & {
[language: string]: TExtension[]; [language: string]: TExtension[];
}; };

View File

@@ -35,15 +35,16 @@ export const getInstalledState = (
return isInstalled ? InstalledState.UNINSTALL : InstalledState.INSTALL; 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 => export const isExtensionStateOrLanguage = (languageCode: string): boolean =>
[ isExtensionState(languageCode) ||
ExtensionGroupState.INSTALLED, [DefaultLanguage.ALL, DefaultLanguage.OTHER, DefaultLanguage.LOCAL_SOURCE].includes(
ExtensionGroupState.UPDATE_PENDING, languageCode as DefaultLanguage,
ExtensionGroupState.OBSOLETE, );
DefaultLanguage.ALL,
DefaultLanguage.OTHER,
DefaultLanguage.LOCAL_SOURCE,
].includes(languageCode as ExtensionGroupState | DefaultLanguage);
export const translateExtensionLanguage = (languageCode: string): string => export const translateExtensionLanguage = (languageCode: string): string =>
isExtensionStateOrLanguage(languageCode) isExtensionStateOrLanguage(languageCode)
@@ -59,16 +60,11 @@ export function getExtensionsInfo(extensions: TExtension[]): {
[ExtensionGroupState.OBSOLETE]: [], [ExtensionGroupState.OBSOLETE]: [],
[ExtensionGroupState.INSTALLED]: [], [ExtensionGroupState.INSTALLED]: [],
[ExtensionGroupState.UPDATE_PENDING]: [], [ExtensionGroupState.UPDATE_PENDING]: [],
[DefaultLanguage.ALL]: [],
[DefaultLanguage.OTHER]: [],
[DefaultLanguage.LOCAL_SOURCE]: [],
}; };
extensions.forEach((extension) => { extensions.forEach((extension) => {
if (sortedExtensions[extension.lang] === undefined) { if (sortedExtensions[extension.lang] === undefined) {
sortedExtensions[extension.lang] = []; sortedExtensions[extension.lang] = [];
if (extension.lang !== 'all') { allLangs.push(extension.lang);
allLangs.push(extension.lang);
}
} }
if (extension.isInstalled) { if (extension.isInstalled) {
if (extension.hasUpdate) { if (extension.hasUpdate) {
@@ -91,9 +87,6 @@ export function getExtensionsInfo(extensions: TExtension[]): {
[ExtensionGroupState.OBSOLETE, sortedExtensions[ExtensionGroupState.OBSOLETE]], [ExtensionGroupState.OBSOLETE, sortedExtensions[ExtensionGroupState.OBSOLETE]],
[ExtensionGroupState.UPDATE_PENDING, sortedExtensions[ExtensionGroupState.UPDATE_PENDING]], [ExtensionGroupState.UPDATE_PENDING, sortedExtensions[ExtensionGroupState.UPDATE_PENDING]],
[ExtensionGroupState.INSTALLED, sortedExtensions[ExtensionGroupState.INSTALLED]], [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]]); 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 { VirtuosoUtil } from '@/lib/virtuoso/Virtuoso.util.tsx';
import { import {
getExtensionsInfo, getExtensionsInfo,
isExtensionStateOrLanguage, isExtensionState,
translateExtensionLanguage, translateExtensionLanguage,
} from '@/modules/extension/Extensions.utils.ts'; } from '@/modules/extension/Extensions.utils.ts';
import { import {
@@ -110,7 +110,7 @@ export function Extensions({ tabsMenuHeight }: { tabsMenuHeight: number }) {
() => () =>
groupedExtensions groupedExtensions
.filter((group) => group[EXTENSIONS].length > 0) .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], [shownLangs, groupedExtensions],
); );