Use "getErrorMessage" everywhere

This commit is contained in:
schroda
2024-12-21 23:27:03 +01:00
parent a4f1aa3234
commit 9e93a78a07
29 changed files with 45 additions and 32 deletions

View File

@@ -236,7 +236,7 @@ export function Backup() {
return (
<EmptyViewAbsoluteCentered
message={t('global.error.label.failed_to_load_data')}
messageExtra={error.message}
messageExtra={getErrorMessage(error)}
retry={() => refetch().catch(defaultPromiseErrorHandler('Backup::refetch'))}
/>
);

View File

@@ -78,7 +78,7 @@ export const BrowseSettings = () => {
return (
<EmptyViewAbsoluteCentered
message={t('global.error.label.failed_to_load_data')}
messageExtra={error.message}
messageExtra={getErrorMessage(error)}
retry={() => refetch().catch(defaultPromiseErrorHandler('BrowseSettings::refetch'))}
/>
);

View File

@@ -32,6 +32,7 @@ import { GetCategoriesSettingsQuery, GetCategoriesSettingsQueryVariables } from
import { GET_CATEGORIES_SETTINGS } from '@/lib/graphql/queries/CategoryQuery.ts';
import { CategorySettingsCard } from '@/modules/category/components/CategorySettingsCard.tsx';
import { CategoryIdInfo } from '@/modules/category/Category.types.ts';
import { getErrorMessage } from '@/lib/HelperFunctions.ts';
export function CategorySettings() {
const { t } = useTranslation();
@@ -124,7 +125,7 @@ export function CategorySettings() {
return (
<EmptyViewAbsoluteCentered
message={t('category.error.label.request_failure')}
messageExtra={error.message}
messageExtra={getErrorMessage(error)}
retry={() => refetch().catch(defaultPromiseErrorHandler('CategorySettings::refetch'))}
/>
);

View File

@@ -8,6 +8,7 @@
import { Component, ErrorInfo, ReactNode, useEffect, useRef, useState } from 'react';
import { useLocation } from 'react-router-dom';
import { getErrorMessage } from '@/lib/HelperFunctions.ts';
interface Props {
children?: ReactNode;
@@ -55,7 +56,7 @@ class RealErrorBoundary extends Component<Props, State> {
return (
<>
<h1>Something went wrong.</h1>
<p>{error.message ?? JSON.stringify(error)}</p>
<p>{getErrorMessage(error)}</p>
</>
);
}

View File

@@ -77,7 +77,7 @@ export const DeviceSetting = () => {
return (
<EmptyViewAbsoluteCentered
message={t('global.error.label.failed_to_load_data')}
messageExtra={error.message}
messageExtra={getErrorMessage(error)}
retry={() => refetch().catch(defaultPromiseErrorHandler('DeviceSetting::refetch'))}
/>
);

View File

@@ -256,7 +256,7 @@ export const DownloadQueue: React.FC = () => {
return (
<EmptyViewAbsoluteCentered
message={t('global.error.label.failed_to_load_data')}
messageExtra={error.message}
messageExtra={getErrorMessage(error)}
retry={() => refetch().catch(defaultPromiseErrorHandler('DownloadQueue::refetch'))}
/>
);

View File

@@ -88,7 +88,7 @@ export const DownloadSettings = () => {
return (
<EmptyViewAbsoluteCentered
message={t('global.error.label.failed_to_load_data')}
messageExtra={error.message}
messageExtra={getErrorMessage(error)}
retry={() => {
if (serverSettings.error) {
serverSettings

View File

@@ -197,7 +197,7 @@ export function Extensions({ tabsMenuHeight }: { tabsMenuHeight: number }) {
return (
<EmptyViewAbsoluteCentered
message={t('global.error.label.failed_to_load_data')}
messageExtra={error.message}
messageExtra={getErrorMessage(error)}
retry={() => {
if (serverSettingsError) {
refetchServerSettings().catch(defaultPromiseErrorHandler('Extensions::refetchServerSettings'));

View File

@@ -30,6 +30,7 @@ import { BaseMangaGrid } from '@/modules/manga/components/BaseMangaGrid.tsx';
import { EmptyViewAbsoluteCentered } from '@/modules/core/components/placeholder/EmptyViewAbsoluteCentered.tsx';
import { translateExtensionLanguage } from '@/modules/extension/Extensions.utils.ts';
import { AppRoutes } from '@/modules/core/AppRoute.constants.ts';
import { getErrorMessage } from '@/lib/HelperFunctions.ts';
type SourceLoadingState = { isLoading: boolean; hasResults: boolean; emptySearch: boolean };
type SourceToLoadingStateMap = Map<string, SourceLoadingState>;
@@ -164,7 +165,7 @@ const SourceSearchPreview = React.memo(
sx={{ alignItems: 'start', height: undefined }}
noFaces
message={errorMessage}
messageExtra={error && error.message}
messageExtra={getErrorMessage(error)}
retry={
error
? () =>
@@ -278,7 +279,7 @@ export const SearchAll: React.FC = () => {
return (
<EmptyViewAbsoluteCentered
message={t('global.error.label.failed_to_load_data')}
messageExtra={error.message}
messageExtra={getErrorMessage(error)}
retry={() => refetch().catch(defaultPromiseErrorHandler('SearchAll::refetch'))}
/>
);

View File

@@ -34,6 +34,7 @@ import { StyledGroupItemWrapper } from '@/modules/core/components/virtuoso/Style
import { VirtuosoUtil } from '@/lib/virtuoso/Virtuoso.util.tsx';
import { LibraryDuplicatesWorkerInput, TMangaDuplicate, TMangaDuplicates } from '@/modules/library/Library.types.ts';
import { GridLayout } from '@/modules/core/Core.types.ts';
import { getErrorMessage } from '@/lib/HelperFunctions.ts';
export const LibraryDuplicates = () => {
const { t } = useTranslation();
@@ -139,7 +140,7 @@ export const LibraryDuplicates = () => {
return (
<EmptyViewAbsoluteCentered
message={t('global.error.label.failed_to_load_data')}
messageExtra={error.message}
messageExtra={getErrorMessage(error)}
retry={() => refetch().catch(defaultPromiseErrorHandler('LibraryDuplicates::refetch'))}
/>
);

View File

@@ -100,7 +100,7 @@ export function LibrarySettings() {
return (
<EmptyViewAbsoluteCentered
message={t('global.error.label.failed_to_load_data')}
messageExtra={error.message}
messageExtra={getErrorMessage(error)}
retry={() => {
if (serverSettings.error) {
serverSettings

View File

@@ -112,11 +112,11 @@ export const useManageMangaLibraryState = (
| undefined;
try {
duplicatedLibraryMangas = await Mangas.getDuplicateLibraryMangas(manga.title).response;
} catch (e: any) {
} catch (e) {
await awaitConfirmation({
title: t('global.error.label.failed_to_load_data'),
message: t('manga.action.library.add.dialog.duplicate.label.failure', {
error: e.message,
error: getErrorMessage(e),
}),
actions: {
extra: { show: true, title: t('global.button.retry'), contain: true },

View File

@@ -26,6 +26,7 @@ import { EmptyViewAbsoluteCentered } from '@/modules/core/components/placeholder
import { LoadingPlaceholder } from '@/modules/core/components/placeholder/LoadingPlaceholder.tsx';
import { GetMangaScreenQuery } from '@/lib/graphql/generated/graphql.ts';
import { GET_MANGA_SCREEN } from '@/lib/graphql/queries/MangaQuery.ts';
import { getErrorMessage } from '@/lib/HelperFunctions.ts';
export const Manga: React.FC = () => {
const { t } = useTranslation();
@@ -82,7 +83,7 @@ export const Manga: React.FC = () => {
<>
{t('manga.error.label.request_failure')}
<br />
{error.message ?? error}
{getErrorMessage(error)}
</>
}
>
@@ -107,7 +108,10 @@ export const Manga: React.FC = () => {
if (error && !manga) {
return (
<EmptyViewAbsoluteCentered message={t('manga.error.label.request_failure')} messageExtra={error.message} />
<EmptyViewAbsoluteCentered
message={t('manga.error.label.request_failure')}
messageExtra={getErrorMessage(error)}
/>
);
}
return (

View File

@@ -22,6 +22,7 @@ import { GET_SOURCE_MIGRATABLE } from '@/lib/graphql/queries/SourceQuery.ts';
import { SOURCE_BASE_FIELDS } from '@/lib/graphql/fragments/SourceFragments.ts';
import { BaseMangaGrid } from '@/modules/manga/components/BaseMangaGrid.tsx';
import { GridLayout } from '@/modules/core/Core.types.ts';
import { getErrorMessage } from '@/lib/HelperFunctions.ts';
export const Migrate = () => {
const { t } = useTranslation();
@@ -101,7 +102,7 @@ export const Migrate = () => {
return (
<EmptyViewAbsoluteCentered
message={t('global.error.label.failed_to_load_data')}
messageExtra={error.message}
messageExtra={getErrorMessage(error)}
retry={() => {
if (hasErrorSource) {
refetchSource().catch(defaultPromiseErrorHandler('Migrate::refetchSource'));

View File

@@ -102,7 +102,7 @@ export const Migration = ({ tabsMenuHeight }: { tabsMenuHeight: number }) => {
return (
<EmptyViewAbsoluteCentered
message={t('global.error.label.failed_to_load_data')}
messageExtra={error.message}
messageExtra={getErrorMessage(error)}
retry={() => refetch().catch(defaultPromiseErrorHandler('Migration::refetch'))}
/>
);

View File

@@ -16,6 +16,7 @@ import { useNavBarContext } from '@/modules/navigation-bar/contexts/NavbarContex
import { IReaderSettings, ReadingMode } from '@/modules/reader/types/Reader.types.ts';
import { ReaderService } from '@/modules/reader/services/ReaderService.ts';
import { ReaderSettingsTabs } from '@/modules/reader/components/settings/ReaderSettingsTabs.tsx';
import { getErrorMessage } from '@/lib/HelperFunctions.ts';
export const GlobalReaderSettings = () => {
const { t } = useTranslation();
@@ -55,7 +56,7 @@ export const GlobalReaderSettings = () => {
return (
<EmptyViewAbsoluteCentered
message={t('global.error.label.failed_to_load_data')}
messageExtra={error.message}
messageExtra={getErrorMessage(error)}
retry={() => refetch().catch(defaultPromiseErrorHandler('DefaultReaderSettings::refetch'))}
/>
);

View File

@@ -40,6 +40,7 @@ import { createPageData, createPagesData } from '@/modules/reader/utils/ReaderPa
import { ReaderHotkeys } from '@/modules/reader/components/ReaderHotkeys.tsx';
import { ReaderResumeMode, ReaderTransitionPageMode } from '@/modules/reader/types/Reader.types.ts';
import { getInitialReaderPageIndex } from '@/modules/reader/utils/Reader.utils.ts';
import { getErrorMessage } from '@/lib/HelperFunctions.ts';
export const Reader = () => {
const { t } = useTranslation();
@@ -284,7 +285,7 @@ export const Reader = () => {
return (
<EmptyViewAbsoluteCentered
message={t('global.error.label.failed_to_load_data')}
messageExtra={error.message}
messageExtra={getErrorMessage(error)}
retry={() => {
if (mangaResponse.error) {
mangaResponse.refetch().catch(defaultPromiseErrorHandler('Reader::refetchManga'));

View File

@@ -22,6 +22,7 @@ import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'
import { EmptyViewAbsoluteCentered } from '@/modules/core/components/placeholder/EmptyViewAbsoluteCentered.tsx';
import { getBuildTime, getVersion } from '@/modules/app-updates/services/AppUpdateChecker.tsx';
import { VersionInfo } from '@/modules/app-updates/components/VersionInfo.tsx';
import { getErrorMessage } from '@/lib/HelperFunctions.ts';
export function About() {
const { t } = useTranslation();
@@ -67,7 +68,7 @@ export function About() {
return (
<EmptyViewAbsoluteCentered
message={t('global.error.label.failed_to_load_data')}
messageExtra={error.message}
messageExtra={getErrorMessage(error)}
retry={() => refetch().catch(defaultPromiseErrorHandler('About::refetch'))}
/>
);

View File

@@ -73,7 +73,7 @@ export const Appearance = () => {
return (
<EmptyViewAbsoluteCentered
message={t('global.error.label.failed_to_load_data')}
messageExtra={error.message}
messageExtra={getErrorMessage(error)}
retry={() => refetch().catch(defaultPromiseErrorHandler('Appearance::refetch'))}
/>
);

View File

@@ -190,7 +190,7 @@ export const ServerSettings = () => {
{localSettings}
<EmptyViewAbsoluteCentered
message={t('global.error.label.failed_to_load_data')}
messageExtra={error.message}
messageExtra={getErrorMessage(error)}
retry={() => {
if (metadataServerSettingsError) {
refetchServerMetadataSettings().catch(

View File

@@ -174,7 +174,7 @@ export const WebUISettings = () => {
return (
<EmptyViewAbsoluteCentered
message={t('global.error.label.failed_to_load_data')}
messageExtra={error.message}
messageExtra={getErrorMessage(error)}
retry={() => {
if (metadataServerSettingsError) {
refetchServerMetadataSettings().catch(

View File

@@ -87,7 +87,7 @@ export function SourceConfigure() {
return (
<EmptyViewAbsoluteCentered
message={t('global.error.label.failed_to_load_data')}
messageExtra={error.message}
messageExtra={getErrorMessage(error)}
retry={() => refetch().catch(defaultPromiseErrorHandler('SourceConfigure::refetch'))}
/>
);

View File

@@ -30,6 +30,7 @@ import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts'
import { SourceType } from '@/lib/graphql/generated/graphql.ts';
import { translateExtensionLanguage } from '@/modules/extension/Extensions.utils.ts';
import { AppRoutes } from '@/modules/core/AppRoute.constants.ts';
import { getErrorMessage } from '@/lib/HelperFunctions.ts';
function sourceToLangList(sources: Pick<SourceType, 'id' | 'lang'>[]) {
const result = new Set<string>();
@@ -136,7 +137,7 @@ export function Sources({ tabsMenuHeight }: { tabsMenuHeight: number }) {
return (
<EmptyViewAbsoluteCentered
message={t('global.error.label.failed_to_load_data')}
messageExtra={error.message}
messageExtra={getErrorMessage(error)}
retry={() => refetch().catch(defaultPromiseErrorHandler('Sources::refetch'))}
/>
);

View File

@@ -110,7 +110,7 @@ export const ThemeCreationDialog = ({
{error && (
<EmptyView
message={t('global.error.label.failed_to_load_data')}
messageExtra={error.message}
messageExtra={getErrorMessage(error)}
retry={() => refetch().catch(defaultPromiseErrorHandler('ThemeCreationDialog::refetch'))}
/>
)}

View File

@@ -54,7 +54,7 @@ export const ThemeList = () => {
return (
<EmptyView
message={t('global.error.label.failed_to_load_data')}
messageExtra={error.message}
messageExtra={getErrorMessage(error)}
retry={() => refetch().catch(defaultPromiseErrorHandler('ThemeList::refetch'))}
/>
);

View File

@@ -111,7 +111,7 @@ export const TrackManga = ({ manga }: { manga: MangaIdInfo & Pick<MangaType, 'ti
return (
<EmptyViewAbsoluteCentered
message={t('global.error.label.failed_to_load_data')}
messageExtra={error.message}
messageExtra={getErrorMessage(error)}
retry={() => {
if (trackerList.error) {
trackerList.refetch().catch(defaultPromiseErrorHandler('TrackManga::refetch: trackerList'));

View File

@@ -155,7 +155,7 @@ export const TrackerSearch = ({
{trackerSearch.error && !trackerSearch.loading && (
<EmptyViewAbsoluteCentered
message={t('global.error.label.failed_to_load_data')}
messageExtra={trackerSearch.error.message}
messageExtra={getErrorMessage(trackerSearch.error)}
retry={() =>
trackerSearch.refetch().catch(defaultPromiseErrorHandler('TrackerSearch::refetch'))
}

View File

@@ -64,7 +64,7 @@ export const TrackingSettings = () => {
return (
<EmptyViewAbsoluteCentered
message={t('global.error.label.failed_to_load_data')}
messageExtra={error.message}
messageExtra={getErrorMessage(error)}
retry={() => {
if (metadataServerSettingsError) {
refetchServerMetadataSettings().catch(

View File

@@ -140,7 +140,7 @@ export const Updates: React.FC = () => {
return (
<EmptyViewAbsoluteCentered
message={t('global.error.label.failed_to_load_data')}
messageExtra={error.message}
messageExtra={getErrorMessage(error)}
retry={() => refetch().catch(defaultPromiseErrorHandler('Updates::refetch'))}
/>
);