From dcd57aea8fb8f2e5dab14c1ec4809cbb3a3ccdf3 Mon Sep 17 00:00:00 2001 From: schroda <50052685+schroda@users.noreply.github.com> Date: Fri, 9 May 2025 00:42:56 +0200 Subject: [PATCH] =?UTF-8?q?Remove=20abbreviation=20of=20=E2=80=9Clanguage?= =?UTF-8?q?=E2=80=9D=20in=20function=20names?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/modules/core/components/inputs/LanguageSelect.tsx | 7 +++++-- src/modules/core/utils/Languages.ts | 9 +++++---- src/modules/extension/Extensions.utils.ts | 10 +++++----- src/modules/global-search/screens/SearchAll.tsx | 4 ++-- src/modules/settings/Settings.constants.ts | 4 ++-- src/modules/settings/screens/Appearance.tsx | 4 ++-- src/modules/source/screens/Sources.tsx | 4 ++-- src/modules/source/services/Sources.ts | 8 +++++--- 8 files changed, 28 insertions(+), 22 deletions(-) diff --git a/src/modules/core/components/inputs/LanguageSelect.tsx b/src/modules/core/components/inputs/LanguageSelect.tsx index 550c9941..328b4f12 100644 --- a/src/modules/core/components/inputs/LanguageSelect.tsx +++ b/src/modules/core/components/inputs/LanguageSelect.tsx @@ -21,7 +21,7 @@ import { useTranslation } from 'react-i18next'; import { Virtuoso } from 'react-virtuoso'; import { CustomTooltip } from '@/modules/core/components/CustomTooltip.tsx'; import { translateExtensionLanguage } from '@/modules/extension/Extensions.utils.ts'; -import { langSortCmp, toUniqueLanguageCodes } from '@/modules/core/utils/Languages.ts'; +import { languageSortComparator, toUniqueLanguageCodes } from '@/modules/core/utils/Languages.ts'; interface IProps { selectedLanguages: string[]; @@ -38,7 +38,10 @@ export function LanguageSelect(props: IProps) { const languagesSortedBySelectState = useMemo( () => - toUniqueLanguageCodes([...tmpSelectedLanguages.toSorted(langSortCmp), ...languages.toSorted(langSortCmp)]), + toUniqueLanguageCodes([ + ...tmpSelectedLanguages.toSorted(languageSortComparator), + ...languages.toSorted(languageSortComparator), + ]), [languages, tmpSelectedLanguages], ); diff --git a/src/modules/core/utils/Languages.ts b/src/modules/core/utils/Languages.ts index 6c5fabcb..0931c2b6 100644 --- a/src/modules/core/utils/Languages.ts +++ b/src/modules/core/utils/Languages.ts @@ -62,7 +62,7 @@ export function getLanguage(code: string): LanguageObject { }; } -export function langCodeToName(code: string): string { +export function languageCodeToName(code: string): string { return getLanguage(code).nativeName; } @@ -89,12 +89,13 @@ function defaultNativeLang(): readonly string[] { return preferredLanguages; } -export function extensionDefaultLangs(): string[] { +export function extensionDefaultLanguages(): string[] { return [...defaultNativeLang()]; } -export function sourceDefualtLangs(): string[] { +export function sourceDefaultLanguages(): string[] { return [...defaultNativeLang()]; } -export const langSortCmp = (a: string, b: string) => langCodeToName(a).localeCompare(langCodeToName(b)); +export const languageSortComparator = (a: string, b: string) => + languageCodeToName(a).localeCompare(languageCodeToName(b)); diff --git a/src/modules/extension/Extensions.utils.ts b/src/modules/extension/Extensions.utils.ts index 22aec191..962c175f 100644 --- a/src/modules/extension/Extensions.utils.ts +++ b/src/modules/extension/Extensions.utils.ts @@ -17,8 +17,8 @@ import { } from '@/modules/extension/Extensions.types.ts'; import { DefaultLanguage, - langCodeToName, - langSortCmp, + languageCodeToName, + languageSortComparator, toComparableLanguage, toComparableLanguages, toUniqueLanguageCodes, @@ -56,7 +56,7 @@ export const isExtensionStateOrLanguage = (languageCode: string): boolean => export const translateExtensionLanguage = (languageCode: string): string => isExtensionStateOrLanguage(languageCode) ? t(extensionLanguageToTranslationKey[languageCode as ExtensionGroupState | DefaultLanguage]) - : langCodeToName(languageCode); + : languageCodeToName(languageCode); export function groupExtensionsByLanguage(extensions: TExtension[]): GroupedExtensionsResult { const extensionsByLanguage = Object.groupBy(extensions, (extension) => { @@ -86,7 +86,7 @@ export function groupExtensionsByLanguage(extensions: TExtension[]): GroupedExte return 1; } - return langSortCmp(a, b); + return languageSortComparator(a, b); }); const groupedExtensionsSortedByLanguage = extensionsBySortedLanguage.map(([language, extensionsOfLanguage]) => [ @@ -98,7 +98,7 @@ export function groupExtensionsByLanguage(extensions: TExtension[]): GroupedExte } export const getLanguagesFromExtensions = (extensions: TExtension[]): string[] => - [...new Set(extensions.map((extension) => extension.lang))].toSorted(langSortCmp); + [...new Set(extensions.map((extension) => extension.lang))].toSorted(languageSortComparator); export const filterExtensions = ( extensions: TExtension[], diff --git a/src/modules/global-search/screens/SearchAll.tsx b/src/modules/global-search/screens/SearchAll.tsx index 39bd5fb5..223bcd52 100644 --- a/src/modules/global-search/screens/SearchAll.tsx +++ b/src/modules/global-search/screens/SearchAll.tsx @@ -16,7 +16,7 @@ import { useTranslation } from 'react-i18next'; import Box from '@mui/material/Box'; import { requestManager } from '@/lib/requests/RequestManager.ts'; import { useLocalStorage } from '@/modules/core/hooks/useStorage.tsx'; -import { sourceDefualtLangs } from '@/modules/core/utils/Languages.ts'; +import { sourceDefaultLanguages } from '@/modules/core/utils/Languages.ts'; import { AppbarSearch } from '@/modules/core/components/AppbarSearch.tsx'; import { LanguageSelect } from '@/modules/core/components/inputs/LanguageSelect.tsx'; import { useDebounce } from '@/modules/core/hooks/useDebounce.ts'; @@ -194,7 +194,7 @@ export const SearchAll: React.FC = () => { const [query] = useQueryParam('query', StringParam); const searchString = useDebounce(query, TRIGGER_SEARCH_THRESHOLD); - const [shownLangs, setShownLangs] = useLocalStorage('shownSourceLangs', sourceDefualtLangs()); + const [shownLangs, setShownLangs] = useLocalStorage('shownSourceLangs', sourceDefaultLanguages()); const { settings: { showNsfw }, } = useMetadataServerSettings(); diff --git a/src/modules/settings/Settings.constants.ts b/src/modules/settings/Settings.constants.ts index e08cc83b..625281e3 100644 --- a/src/modules/settings/Settings.constants.ts +++ b/src/modules/settings/Settings.constants.ts @@ -10,7 +10,7 @@ import { DEFAULT_DEVICE } from '@/modules/device/services/Device.ts'; import { DEFAULT_SORT_SETTINGS } from '@/modules/migration/Migration.constants.ts'; import { MetadataServerSettings } from '@/modules/settings/Settings.types.ts'; import { GridLayout } from '@/modules/core/Core.types.ts'; -import { extensionDefaultLangs } from '@/modules/core/utils/Languages.ts'; +import { extensionDefaultLanguages } from '@/modules/core/utils/Languages.ts'; export const SERVER_SETTINGS_METADATA_DEFAULT: MetadataServerSettings = { // downloads @@ -41,7 +41,7 @@ export const SERVER_SETTINGS_METADATA_DEFAULT: MetadataServerSettings = { // browse hideLibraryEntries: false, - extensionLanguages: extensionDefaultLangs(), + extensionLanguages: extensionDefaultLanguages(), showNsfw: true, // history diff --git a/src/modules/settings/screens/Appearance.tsx b/src/modules/settings/screens/Appearance.tsx index 62d46e89..3b4add72 100644 --- a/src/modules/settings/screens/Appearance.tsx +++ b/src/modules/settings/screens/Appearance.tsx @@ -21,7 +21,7 @@ import { MediaQuery } from '@/modules/core/utils/MediaQuery.tsx'; import { NumberSetting } from '@/modules/core/components/settings/NumberSetting.tsx'; import { useLocalStorage } from '@/modules/core/hooks/useStorage.tsx'; import { I18nResourceCode, i18nResources } from '@/i18n'; -import { langCodeToName } from '@/modules/core/utils/Languages.ts'; +import { languageCodeToName } from '@/modules/core/utils/Languages.ts'; import { ThemeList } from '@/modules/theme/components/ThemeList.tsx'; import { createUpdateMetadataServerSettings, @@ -145,7 +145,7 @@ export const Appearance = () => { > {i18nResources.map((language) => ( - {langCodeToName(language)} + {languageCodeToName(language)} ))} diff --git a/src/modules/source/screens/Sources.tsx b/src/modules/source/screens/Sources.tsx index f98b3f06..146680a0 100644 --- a/src/modules/source/screens/Sources.tsx +++ b/src/modules/source/screens/Sources.tsx @@ -15,7 +15,7 @@ import { useTranslation } from 'react-i18next'; import { CustomTooltip } from '@/modules/core/components/CustomTooltip.tsx'; import { requestManager } from '@/lib/requests/RequestManager.ts'; import { useLocalStorage } from '@/modules/core/hooks/useStorage.tsx'; -import { sourceDefualtLangs } from '@/modules/core/utils/Languages.ts'; +import { sourceDefaultLanguages } from '@/modules/core/utils/Languages.ts'; import { LoadingPlaceholder } from '@/modules/core/components/feedback/LoadingPlaceholder.tsx'; import { SourceCard } from '@/modules/source/components/SourceCard.tsx'; import { LanguageSelect } from '@/modules/core/components/inputs/LanguageSelect.tsx'; @@ -31,7 +31,7 @@ import { useAppAction } from '@/modules/navigation-bar/hooks/useAppAction.ts'; export function Sources() { const { t } = useTranslation(); - const [shownLangs, setShownLangs] = useLocalStorage('shownSourceLangs', sourceDefualtLangs()); + const [shownLangs, setShownLangs] = useLocalStorage('shownSourceLangs', sourceDefaultLanguages()); const { settings: { showNsfw }, } = useMetadataServerSettings(); diff --git a/src/modules/source/services/Sources.ts b/src/modules/source/services/Sources.ts index 94fe3a92..53e9a003 100644 --- a/src/modules/source/services/Sources.ts +++ b/src/modules/source/services/Sources.ts @@ -15,7 +15,7 @@ import { } from '@/modules/source/Source.types.ts'; import { DefaultLanguage, - langSortCmp, + languageSortComparator, toComparableLanguage, toComparableLanguages, toUniqueLanguageCodes, @@ -37,14 +37,16 @@ export class Sources { } static getLanguages(sources: (SourceIdInfo & SourceLanguageInfo)[]): string[] { - return [...new Set(sources.map((source) => Sources.getLanguage(source)))].toSorted(langSortCmp); + return [...new Set(sources.map((source) => Sources.getLanguage(source)))].toSorted(languageSortComparator); } static groupByLanguage( sources: Source[], ): Record { const sourcesByLanguage = Object.groupBy(sources, (source) => Sources.getLanguage(source)); - const sourcesBySortedLanguage = Object.entries(sourcesByLanguage).toSorted(([a], [b]) => langSortCmp(a, b)); + const sourcesBySortedLanguage = Object.entries(sourcesByLanguage).toSorted(([a], [b]) => + languageSortComparator(a, b), + ); const sortedSourcesBySortedLanguage = sourcesBySortedLanguage.map(([language, sourcesOfLanguage]) => [ language, (sourcesOfLanguage ?? []).toSorted((a, b) => a.displayName.localeCompare(b.displayName)),