diff --git a/src/modules/extension/Extensions.utils.ts b/src/modules/extension/Extensions.utils.ts index d20573c8..b04063ad 100644 --- a/src/modules/extension/Extensions.utils.ts +++ b/src/modules/extension/Extensions.utils.ts @@ -53,15 +53,15 @@ export const isExtensionState = (value: string): boolean => value as ExtensionGroupState, ); +export const isPinnedOrLastUsedSource = (languageCode: string): boolean => + [DefaultLanguage.PINNED, DefaultLanguage.LAST_USED_SOURCE].includes(languageCode as DefaultLanguage); + export const isExtensionStateOrLanguage = (languageCode: string): boolean => isExtensionState(languageCode) || - [ - DefaultLanguage.ALL, - DefaultLanguage.OTHER, - DefaultLanguage.LOCAL_SOURCE, - DefaultLanguage.PINNED, - DefaultLanguage.LAST_USED_SOURCE, - ].includes(languageCode as DefaultLanguage); + isPinnedOrLastUsedSource(languageCode) || + [DefaultLanguage.ALL, DefaultLanguage.OTHER, DefaultLanguage.LOCAL_SOURCE].includes( + languageCode as DefaultLanguage, + ); export const translateExtensionLanguage = (languageCode: string): string => isExtensionStateOrLanguage(languageCode) diff --git a/src/modules/source/components/SourceCard.tsx b/src/modules/source/components/SourceCard.tsx index 21bddb20..9fe47c7b 100644 --- a/src/modules/source/components/SourceCard.tsx +++ b/src/modules/source/components/SourceCard.tsx @@ -20,7 +20,6 @@ import IconButton from '@mui/material/IconButton'; import { requestManager } from '@/lib/requests/RequestManager.ts'; import { SourceContentType } from '@/modules/source/screens/SourceMangas.tsx'; import { GetSourcesListQuery } from '@/lib/graphql/generated/graphql.ts'; -import { translateExtensionLanguage } from '@/modules/extension/Extensions.utils.ts'; import { AppRoutes } from '@/modules/core/AppRoute.constants.ts'; import { MUIUtil } from '@/lib/mui/MUI.util.ts'; import { Sources } from '@/modules/source/services/Sources.ts'; @@ -30,16 +29,18 @@ import { CustomTooltip } from '@/modules/core/components/CustomTooltip.tsx'; import { createUpdateSourceMetadata, useGetSourceMetadata } from '@/modules/source/services/SourceMetadata.ts'; import { makeToast } from '@/modules/core/utils/Toast.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; +import { languageCodeToName } from '@/modules/core/utils/Languages.ts'; interface IProps { source: GetSourcesListQuery['sources']['nodes'][number]; showSourceRepo: boolean; + showLanguage: boolean; } export const SourceCard: React.FC = (props: IProps) => { const { t } = useTranslation(); - const { source, showSourceRepo } = props; + const { source, showSourceRepo, showLanguage } = props; const { id, name, @@ -79,7 +80,7 @@ export const SourceCard: React.FC = (props: IProps) => { {sourceName} - {translateExtensionLanguage(lang)} + {showLanguage && languageCodeToName(lang)} {isNsfw && ( {' 18+'} diff --git a/src/modules/source/screens/Sources.tsx b/src/modules/source/screens/Sources.tsx index 3145ed7c..efa8b337 100644 --- a/src/modules/source/screens/Sources.tsx +++ b/src/modules/source/screens/Sources.tsx @@ -21,7 +21,7 @@ import { SourceCard } from '@/modules/source/components/SourceCard.tsx'; import { LanguageSelect } from '@/modules/core/components/inputs/LanguageSelect.tsx'; import { EmptyViewAbsoluteCentered } from '@/modules/core/components/feedback/EmptyViewAbsoluteCentered.tsx'; import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'; -import { translateExtensionLanguage } from '@/modules/extension/Extensions.utils.ts'; +import { isPinnedOrLastUsedSource, translateExtensionLanguage } from '@/modules/extension/Extensions.utils.ts'; import { AppRoutes } from '@/modules/core/AppRoute.constants.ts'; import { getErrorMessage } from '@/lib/HelperFunctions.ts'; import { Sources as SourceService } from '@/modules/source/services/Sources.ts'; @@ -140,12 +140,17 @@ export function Sources({ tabsMenuHeight }: { tabsMenuHeight: number }) { ); }} - itemContent={(index) => { + itemContent={(index, groupIndex) => { + const language = sourcesByLanguage[groupIndex][0]; const source = visibleSources[index]; return ( - + ); }}