Rename "ExtensionState" enum to "ExtensionGroupState"
This commit is contained in:
@@ -21,7 +21,7 @@ import { requestManager } from '@/lib/requests/RequestManager.ts';
|
|||||||
import { extensionDefaultLangs, DefaultLanguage, langSortCmp } from '@/modules/core/utils/Languages.ts';
|
import { extensionDefaultLangs, DefaultLanguage, langSortCmp } from '@/modules/core/utils/Languages.ts';
|
||||||
import { useLocalStorage } from '@/modules/core/hooks/useStorage.tsx';
|
import { useLocalStorage } from '@/modules/core/hooks/useStorage.tsx';
|
||||||
import {
|
import {
|
||||||
ExtensionState,
|
ExtensionGroupState,
|
||||||
GroupedExtensions,
|
GroupedExtensions,
|
||||||
GroupedExtensionsResult,
|
GroupedExtensionsResult,
|
||||||
isExtensionStateOrLanguage,
|
isExtensionStateOrLanguage,
|
||||||
@@ -50,9 +50,9 @@ function getExtensionsInfo(extensions: TExtension[]): {
|
|||||||
} {
|
} {
|
||||||
const allLangs: string[] = [];
|
const allLangs: string[] = [];
|
||||||
const sortedExtensions: GroupedExtensions = {
|
const sortedExtensions: GroupedExtensions = {
|
||||||
[ExtensionState.OBSOLETE]: [],
|
[ExtensionGroupState.OBSOLETE]: [],
|
||||||
[ExtensionState.INSTALLED]: [],
|
[ExtensionGroupState.INSTALLED]: [],
|
||||||
[ExtensionState.UPDATE_PENDING]: [],
|
[ExtensionGroupState.UPDATE_PENDING]: [],
|
||||||
[DefaultLanguage.ALL]: [],
|
[DefaultLanguage.ALL]: [],
|
||||||
[DefaultLanguage.OTHER]: [],
|
[DefaultLanguage.OTHER]: [],
|
||||||
[DefaultLanguage.LOCAL_SOURCE]: [],
|
[DefaultLanguage.LOCAL_SOURCE]: [],
|
||||||
@@ -66,25 +66,25 @@ function getExtensionsInfo(extensions: TExtension[]): {
|
|||||||
}
|
}
|
||||||
if (extension.isInstalled) {
|
if (extension.isInstalled) {
|
||||||
if (extension.hasUpdate) {
|
if (extension.hasUpdate) {
|
||||||
sortedExtensions[ExtensionState.UPDATE_PENDING].push(extension);
|
sortedExtensions[ExtensionGroupState.UPDATE_PENDING].push(extension);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (extension.isObsolete) {
|
if (extension.isObsolete) {
|
||||||
sortedExtensions[ExtensionState.OBSOLETE].push(extension);
|
sortedExtensions[ExtensionGroupState.OBSOLETE].push(extension);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
sortedExtensions[ExtensionState.INSTALLED].push(extension);
|
sortedExtensions[ExtensionGroupState.INSTALLED].push(extension);
|
||||||
} else {
|
} else {
|
||||||
sortedExtensions[extension.lang].push(extension);
|
sortedExtensions[extension.lang].push(extension);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
allLangs.sort(langSortCmp);
|
allLangs.sort(langSortCmp);
|
||||||
const result: GroupedExtensionsResult<ExtensionState | DefaultLanguage | string> = [
|
const result: GroupedExtensionsResult<ExtensionGroupState | DefaultLanguage | string> = [
|
||||||
[ExtensionState.OBSOLETE, sortedExtensions[ExtensionState.OBSOLETE]],
|
[ExtensionGroupState.OBSOLETE, sortedExtensions[ExtensionGroupState.OBSOLETE]],
|
||||||
[ExtensionState.UPDATE_PENDING, sortedExtensions[ExtensionState.UPDATE_PENDING]],
|
[ExtensionGroupState.UPDATE_PENDING, sortedExtensions[ExtensionGroupState.UPDATE_PENDING]],
|
||||||
[ExtensionState.INSTALLED, sortedExtensions[ExtensionState.INSTALLED]],
|
[ExtensionGroupState.INSTALLED, sortedExtensions[ExtensionGroupState.INSTALLED]],
|
||||||
[DefaultLanguage.ALL, sortedExtensions[DefaultLanguage.ALL]],
|
[DefaultLanguage.ALL, sortedExtensions[DefaultLanguage.ALL]],
|
||||||
[DefaultLanguage.OTHER, sortedExtensions[DefaultLanguage.OTHER]],
|
[DefaultLanguage.OTHER, sortedExtensions[DefaultLanguage.OTHER]],
|
||||||
[DefaultLanguage.LOCAL_SOURCE, sortedExtensions[DefaultLanguage.LOCAL_SOURCE]],
|
[DefaultLanguage.LOCAL_SOURCE, sortedExtensions[DefaultLanguage.LOCAL_SOURCE]],
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import { DefaultLanguage, langCodeToName } from '@/modules/core/utils/Languages.
|
|||||||
import { ExtensionType } from '@/lib/graphql/generated/graphql.ts';
|
import { ExtensionType } from '@/lib/graphql/generated/graphql.ts';
|
||||||
import { TranslationKey } from '@/Base.types.ts';
|
import { TranslationKey } from '@/Base.types.ts';
|
||||||
|
|
||||||
export enum ExtensionState {
|
export enum ExtensionGroupState {
|
||||||
INSTALLED = 'INSTALLED',
|
INSTALLED = 'INSTALLED',
|
||||||
UPDATE_PENDING = 'UPDATE_PENDING',
|
UPDATE_PENDING = 'UPDATE_PENDING',
|
||||||
OBSOLETE = 'OBSOLETE',
|
OBSOLETE = 'OBSOLETE',
|
||||||
@@ -35,7 +35,7 @@ export type TExtension = Pick<
|
|||||||
export type GroupedExtensionsResult<KEY extends string = string> = [KEY, TExtension[]][];
|
export type GroupedExtensionsResult<KEY extends string = string> = [KEY, TExtension[]][];
|
||||||
|
|
||||||
export type GroupedByExtensionState = {
|
export type GroupedByExtensionState = {
|
||||||
[state in ExtensionState]: TExtension[];
|
[state in ExtensionGroupState]: TExtension[];
|
||||||
};
|
};
|
||||||
|
|
||||||
export type GroupedByLanguage = {
|
export type GroupedByLanguage = {
|
||||||
@@ -46,10 +46,10 @@ export type GroupedByLanguage = {
|
|||||||
|
|
||||||
export type GroupedExtensions = GroupedByExtensionState & GroupedByLanguage;
|
export type GroupedExtensions = GroupedByExtensionState & GroupedByLanguage;
|
||||||
|
|
||||||
export const extensionLanguageToTranslationKey: { [state in ExtensionState | DefaultLanguage]: TranslationKey } = {
|
export const extensionLanguageToTranslationKey: { [state in ExtensionGroupState | DefaultLanguage]: TranslationKey } = {
|
||||||
[ExtensionState.INSTALLED]: 'extension.state.label.installed',
|
[ExtensionGroupState.INSTALLED]: 'extension.state.label.installed',
|
||||||
[ExtensionState.UPDATE_PENDING]: 'extension.state.label.update_pending',
|
[ExtensionGroupState.UPDATE_PENDING]: 'extension.state.label.update_pending',
|
||||||
[ExtensionState.OBSOLETE]: 'extension.state.label.obsolete',
|
[ExtensionGroupState.OBSOLETE]: 'extension.state.label.obsolete',
|
||||||
[DefaultLanguage.ALL]: 'extension.language.all',
|
[DefaultLanguage.ALL]: 'extension.language.all',
|
||||||
[DefaultLanguage.OTHER]: 'extension.language.other',
|
[DefaultLanguage.OTHER]: 'extension.language.other',
|
||||||
[DefaultLanguage.LOCAL_SOURCE]: 'extension.language.other',
|
[DefaultLanguage.LOCAL_SOURCE]: 'extension.language.other',
|
||||||
@@ -57,15 +57,15 @@ export const extensionLanguageToTranslationKey: { [state in ExtensionState | Def
|
|||||||
|
|
||||||
export const isExtensionStateOrLanguage = (languageCode: string): boolean =>
|
export const isExtensionStateOrLanguage = (languageCode: string): boolean =>
|
||||||
[
|
[
|
||||||
ExtensionState.INSTALLED,
|
ExtensionGroupState.INSTALLED,
|
||||||
ExtensionState.UPDATE_PENDING,
|
ExtensionGroupState.UPDATE_PENDING,
|
||||||
ExtensionState.OBSOLETE,
|
ExtensionGroupState.OBSOLETE,
|
||||||
DefaultLanguage.ALL,
|
DefaultLanguage.ALL,
|
||||||
DefaultLanguage.OTHER,
|
DefaultLanguage.OTHER,
|
||||||
DefaultLanguage.LOCAL_SOURCE,
|
DefaultLanguage.LOCAL_SOURCE,
|
||||||
].includes(languageCode as ExtensionState | DefaultLanguage);
|
].includes(languageCode as ExtensionGroupState | DefaultLanguage);
|
||||||
|
|
||||||
export const translateExtensionLanguage = (languageCode: string): string =>
|
export const translateExtensionLanguage = (languageCode: string): string =>
|
||||||
isExtensionStateOrLanguage(languageCode)
|
isExtensionStateOrLanguage(languageCode)
|
||||||
? t(extensionLanguageToTranslationKey[languageCode as ExtensionState | DefaultLanguage])
|
? t(extensionLanguageToTranslationKey[languageCode as ExtensionGroupState | DefaultLanguage])
|
||||||
: langCodeToName(languageCode);
|
: langCodeToName(languageCode);
|
||||||
|
|||||||
Reference in New Issue
Block a user