From 37d201b6fbb95b258964613dca051e684ea62356 Mon Sep 17 00:00:00 2001
From: Matiss Janis Aboltins <matiss@mja.lv>
Date: Mon, 23 Sep 2024 21:10:07 +0100
Subject: [PATCH] :bug: fix custom reports crashing when opening table (#3484)

---
 .../components/reports/reports/CustomReport.tsx | 17 +++++++++++------
 upcoming-release-notes/3484.md                  |  6 ++++++
 2 files changed, 17 insertions(+), 6 deletions(-)
 create mode 100644 upcoming-release-notes/3484.md

diff --git a/packages/desktop-client/src/components/reports/reports/CustomReport.tsx b/packages/desktop-client/src/components/reports/reports/CustomReport.tsx
index 97df6638d..53ebf2056 100644
--- a/packages/desktop-client/src/components/reports/reports/CustomReport.tsx
+++ b/packages/desktop-client/src/components/reports/reports/CustomReport.tsx
@@ -387,6 +387,7 @@ export function CustomReport() {
   ]);
 
   const getGraphData = useMemo(() => {
+    // TODO: fix me - state mutations should not happen inside `useMemo`
     setDataCheck(false);
     return createCustomSpreadsheet({
       startDate,
@@ -454,6 +455,16 @@ export function CustomReport() {
   const navigate = useNavigate();
   const [, setScrollWidth] = useState(0);
 
+  useEffect(() => {
+    if (disabledLegendLabel(mode, graphType, 'disableLegend')) {
+      setViewLegendPref(false);
+    }
+
+    if (disabledLegendLabel(mode, graphType, 'disableLabel')) {
+      setViewLabelsPref(false);
+    }
+  }, [setViewLegendPref, setViewLabelsPref, mode, graphType]);
+
   if (!allIntervals || !data) {
     return null;
   }
@@ -516,15 +527,9 @@ export function CustomReport() {
   const isItemDisabled = (type: string) => {
     switch (type) {
       case 'ShowLegend': {
-        if (disabledLegendLabel(mode, graphType, 'disableLegend')) {
-          setViewLegendPref(false);
-        }
         return disabledLegendLabel(mode, graphType, 'disableLegend') || false;
       }
       case 'ShowLabels': {
-        if (disabledLegendLabel(mode, graphType, 'disableLabel')) {
-          setViewLabelsPref(false);
-        }
         return disabledLegendLabel(mode, graphType, 'disableLabel') || false;
       }
       default:
diff --git a/upcoming-release-notes/3484.md b/upcoming-release-notes/3484.md
new file mode 100644
index 000000000..fd0f8fa1a
--- /dev/null
+++ b/upcoming-release-notes/3484.md
@@ -0,0 +1,6 @@
+---
+category: Bugfix
+authors: [MatissJanis]
+---
+
+Custom reports - fix opening table reports crashing the page.
-- 
GitLab