From 28ccd8af56d4b8fdb3cd7d8c0d08e50e8c6cce58 Mon Sep 17 00:00:00 2001 From: Hein Date: Wed, 11 Feb 2026 14:29:24 +0200 Subject: [PATCH] fix(Gridler): update ready state management logic --- src/Gridler/GridlerDataGrid.tsx | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/src/Gridler/GridlerDataGrid.tsx b/src/Gridler/GridlerDataGrid.tsx index 389b0e3..9faa286 100644 --- a/src/Gridler/GridlerDataGrid.tsx +++ b/src/Gridler/GridlerDataGrid.tsx @@ -7,7 +7,7 @@ import { } from '@glideapps/glide-data-grid'; import { Group, Stack } from '@mantine/core'; import { useElementSize, useMergedRef } from '@mantine/hooks'; -import React from 'react'; +import React, { useEffect } from 'react'; import { BottomBar } from './components/BottomBar'; import { Computer } from './components/Computer'; @@ -107,14 +107,22 @@ export const GridlerDataGrid = () => { setStateFN('_glideref', () => { return r ?? undefined; }); - - const ready = getState('ready'); - const newReady = !!(r && mounted); - if (ready !== newReady) { - setState('ready', newReady); - } }); + useEffect(() => { + if (ref.current && mounted) { + const currentReady = getState('ready'); + if (!currentReady) { + setState('ready', true); + } + } else { + const currentReady = getState('ready'); + if (currentReady) { + setState('ready', false); + } + } + }, [mounted, getState, setState]); + const theme = useGridTheme(); return (