Procházet zdrojové kódy

Avoid loading ranges twice for overview panel (#19554)

GitOrigin-RevId: da8cc295fe672a97e76b93cc7e88dc1f6d3d044d
Alf Eaton před 2 roky
rodič
revize
4c76667379

+ 11 - 11
services/web/frontend/js/features/ide-react/context/review-panel/hooks/use-review-panel-state.ts

@@ -1497,17 +1497,6 @@ function useReviewPanelState(): ReviewPanel.ReviewPanelState {
   }, [reviewPanelOpen])
 
   const canRefreshRanges = useRef(false)
-  useEffect(() => {
-    if (subView === 'overview' && canRefreshRanges.current) {
-      canRefreshRanges.current = false
-
-      setIsOverviewLoading(true)
-      refreshRanges().finally(() => {
-        setIsOverviewLoading(false)
-      })
-    }
-  }, [subView, refreshRanges])
-
   const prevSubView = useRef(subView)
   const initializedPrevSubView = useRef(false)
   useEffect(() => {
@@ -1521,6 +1510,17 @@ function useReviewPanelState(): ReviewPanel.ReviewPanelState {
     canRefreshRanges.current = true
   }, [subView])
 
+  useEffect(() => {
+    if (subView === 'overview' && canRefreshRanges.current) {
+      canRefreshRanges.current = false
+
+      setIsOverviewLoading(true)
+      refreshRanges().finally(() => {
+        setIsOverviewLoading(false)
+      })
+    }
+  }, [subView, refreshRanges])
+
   useEffect(() => {
     if (subView === 'cur_file' && prevSubView.current === 'overview') {
       dispatchReviewPanelEvent('overview-closed', subView)