diff --git a/packages/desktop-client/src/components/reports/reports/CustomReportListCards.tsx b/packages/desktop-client/src/components/reports/reports/CustomReportListCards.tsx index 6111d9b40d41906f46a5918a4e36b02ac0d6df6d..0aeacba2fced778f4e4100eb1d4de724fd40c1b0 100644 --- a/packages/desktop-client/src/components/reports/reports/CustomReportListCards.tsx +++ b/packages/desktop-client/src/components/reports/reports/CustomReportListCards.tsx @@ -1,9 +1,10 @@ import React, { createRef, useMemo, useState } from 'react'; +import { ErrorBoundary } from 'react-error-boundary'; import { send, sendCatch } from 'loot-core/platform/client/fetch/index'; import { type CustomReportEntity } from 'loot-core/types/models/reports'; -import { styles } from '../../../style'; +import { styles } from '../../../style/index'; import { theme } from '../../../style/theme'; import { Block } from '../../common/Block'; import { Menu } from '../../common/Menu'; @@ -56,6 +57,19 @@ function index(data: CustomReportEntity[]): { [key: string]: boolean }[] { }, []); } +function ErrorFallback() { + return ( + <> + <div> + <br /> + </div> + <Text style={{ ...styles.mediumText, color: theme.errorText }}> + There was a problem loading your report + </Text> + </> + ); +} + export function CustomReportListCards({ reports, }: { @@ -193,18 +207,20 @@ export function CustomReportListCards({ </View> {report.data ? ( - <ChooseGraph - startDate={report.startDate} - endDate={report.endDate} - data={report.data} - mode={report.mode} - graphType={report.graphType} - balanceType={report.balanceType} - groupBy={report.groupBy} - interval={report.interval} - compact={true} - style={{ height: 'auto', flex: 1 }} - /> + <ErrorBoundary FallbackComponent={ErrorFallback}> + <ChooseGraph + startDate={report.startDate} + endDate={report.endDate} + data={report.data} + mode={report.mode} + graphType={report.graphType} + balanceType={report.balanceType} + groupBy={report.groupBy} + interval={report.interval} + compact={true} + style={{ height: 'auto', flex: 1 }} + /> + </ErrorBoundary> ) : ( <LoadingIndicator /> )} diff --git a/upcoming-release-notes/2492.md b/upcoming-release-notes/2492.md new file mode 100644 index 0000000000000000000000000000000000000000..c6575c342854c4d42a233993a02e7dddc35597f9 --- /dev/null +++ b/upcoming-release-notes/2492.md @@ -0,0 +1,6 @@ +--- +category: Bugfix +authors: [carkom] +--- + +Error catch for reports overview page.