diff --git a/apps/desktop/layer/renderer/src/modules/app-layout/ai-enhanced-timeline/AIEnhancedTimelineLayout.tsx b/apps/desktop/layer/renderer/src/modules/app-layout/ai-enhanced-timeline/AIEnhancedTimelineLayout.tsx index f2def5f70..a7fa27491 100644 --- a/apps/desktop/layer/renderer/src/modules/app-layout/ai-enhanced-timeline/AIEnhancedTimelineLayout.tsx +++ b/apps/desktop/layer/renderer/src/modules/app-layout/ai-enhanced-timeline/AIEnhancedTimelineLayout.tsx @@ -69,6 +69,7 @@ const AIEnhancedTimelineLayoutImpl = () => { const layoutContainerRef = useRef(null) const hasMountedRef = useRef(false) + // Delay the details column until the timeline width animation finishes const [shouldRenderDetailsColumn, setShouldRenderDetailsColumn] = useState(showEntryDetailsColumn) const feedColumnWidth = useUISettingKey("feedColWidth") @@ -158,7 +159,7 @@ const AIEnhancedTimelineLayoutImpl = () => { setAiPanelWidth(width) // Trigger layout update window.dispatchEvent(new Event("resize")) - }, [resolvePreferredWidth]) + }, [resolvePreferredWidth, setAiPanelWidth]) const handleTimelineTransitionEnd = useCallback( (event: TransitionEvent) => { @@ -174,15 +175,18 @@ const AIEnhancedTimelineLayoutImpl = () => { [showEntryDetailsColumn], ) + useEffect(() => { + if (!showEntryDetailsColumn) { + setShouldRenderDetailsColumn(false) + } + }, [showEntryDetailsColumn]) + useEffect(() => { if (!hasMountedRef.current) { hasMountedRef.current = true setShouldRenderDetailsColumn(showEntryDetailsColumn) return } - - // Defer rendering until the width transition signals completion - setShouldRenderDetailsColumn(false) }, [showEntryDetailsColumn]) return (