Rename "ExtensionState" enum to "ExtensionGroupState"

This commit is contained in:
schroda
2024-11-04 01:17:41 +01:00
parent e1a477feb0
commit 71292a114a
2 changed files with 22 additions and 22 deletions

View File

@@ -21,7 +21,7 @@ import { requestManager } from '@/lib/requests/RequestManager.ts';
import { extensionDefaultLangs, DefaultLanguage, langSortCmp } from '@/modules/core/utils/Languages.ts';
import { useLocalStorage } from '@/modules/core/hooks/useStorage.tsx';
import {
ExtensionState,
ExtensionGroupState,
GroupedExtensions,
GroupedExtensionsResult,
isExtensionStateOrLanguage,
@@ -50,9 +50,9 @@ function getExtensionsInfo(extensions: TExtension[]): {
} {
const allLangs: string[] = [];
const sortedExtensions: GroupedExtensions = {
[ExtensionState.OBSOLETE]: [],
[ExtensionState.INSTALLED]: [],
[ExtensionState.UPDATE_PENDING]: [],
[ExtensionGroupState.OBSOLETE]: [],
[ExtensionGroupState.INSTALLED]: [],
[ExtensionGroupState.UPDATE_PENDING]: [],
[DefaultLanguage.ALL]: [],
[DefaultLanguage.OTHER]: [],
[DefaultLanguage.LOCAL_SOURCE]: [],
@@ -66,25 +66,25 @@ function getExtensionsInfo(extensions: TExtension[]): {
}
if (extension.isInstalled) {
if (extension.hasUpdate) {
sortedExtensions[ExtensionState.UPDATE_PENDING].push(extension);
sortedExtensions[ExtensionGroupState.UPDATE_PENDING].push(extension);
return;
}
if (extension.isObsolete) {
sortedExtensions[ExtensionState.OBSOLETE].push(extension);
sortedExtensions[ExtensionGroupState.OBSOLETE].push(extension);
return;
}
sortedExtensions[ExtensionState.INSTALLED].push(extension);
sortedExtensions[ExtensionGroupState.INSTALLED].push(extension);
} else {
sortedExtensions[extension.lang].push(extension);
}
});
allLangs.sort(langSortCmp);
const result: GroupedExtensionsResult<ExtensionState | DefaultLanguage | string> = [
[ExtensionState.OBSOLETE, sortedExtensions[ExtensionState.OBSOLETE]],
[ExtensionState.UPDATE_PENDING, sortedExtensions[ExtensionState.UPDATE_PENDING]],
[ExtensionState.INSTALLED, sortedExtensions[ExtensionState.INSTALLED]],
const result: GroupedExtensionsResult<ExtensionGroupState | DefaultLanguage | string> = [
[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]],

View File

@@ -11,7 +11,7 @@ import { DefaultLanguage, langCodeToName } from '@/modules/core/utils/Languages.
import { ExtensionType } from '@/lib/graphql/generated/graphql.ts';
import { TranslationKey } from '@/Base.types.ts';
export enum ExtensionState {
export enum ExtensionGroupState {
INSTALLED = 'INSTALLED',
UPDATE_PENDING = 'UPDATE_PENDING',
OBSOLETE = 'OBSOLETE',
@@ -35,7 +35,7 @@ export type TExtension = Pick<
export type GroupedExtensionsResult<KEY extends string = string> = [KEY, TExtension[]][];
export type GroupedByExtensionState = {
[state in ExtensionState]: TExtension[];
[state in ExtensionGroupState]: TExtension[];
};
export type GroupedByLanguage = {
@@ -46,10 +46,10 @@ export type GroupedByLanguage = {
export type GroupedExtensions = GroupedByExtensionState & GroupedByLanguage;
export const extensionLanguageToTranslationKey: { [state in ExtensionState | DefaultLanguage]: TranslationKey } = {
[ExtensionState.INSTALLED]: 'extension.state.label.installed',
[ExtensionState.UPDATE_PENDING]: 'extension.state.label.update_pending',
[ExtensionState.OBSOLETE]: 'extension.state.label.obsolete',
export const extensionLanguageToTranslationKey: { [state in ExtensionGroupState | DefaultLanguage]: TranslationKey } = {
[ExtensionGroupState.INSTALLED]: 'extension.state.label.installed',
[ExtensionGroupState.UPDATE_PENDING]: 'extension.state.label.update_pending',
[ExtensionGroupState.OBSOLETE]: 'extension.state.label.obsolete',
[DefaultLanguage.ALL]: 'extension.language.all',
[DefaultLanguage.OTHER]: '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 =>
[
ExtensionState.INSTALLED,
ExtensionState.UPDATE_PENDING,
ExtensionState.OBSOLETE,
ExtensionGroupState.INSTALLED,
ExtensionGroupState.UPDATE_PENDING,
ExtensionGroupState.OBSOLETE,
DefaultLanguage.ALL,
DefaultLanguage.OTHER,
DefaultLanguage.LOCAL_SOURCE,
].includes(languageCode as ExtensionState | DefaultLanguage);
].includes(languageCode as ExtensionGroupState | DefaultLanguage);
export const translateExtensionLanguage = (languageCode: string): string =>
isExtensionStateOrLanguage(languageCode)
? t(extensionLanguageToTranslationKey[languageCode as ExtensionState | DefaultLanguage])
? t(extensionLanguageToTranslationKey[languageCode as ExtensionGroupState | DefaultLanguage])
: langCodeToName(languageCode);