@@ -43,6 +43,7 @@ import { KeyViewType } from 'uiSrc/slices/interfaces/keys'
43
43
import { SCAN_COUNT_DEFAULT , SCAN_TREE_COUNT_DEFAULT } from 'uiSrc/constants/api'
44
44
import OnboardingStartPopover from 'uiSrc/pages/browser/components/onboarding-start-popover'
45
45
import { sidePanelsSelector } from 'uiSrc/slices/panels/sidePanels'
46
+ import { useStateWithContext } from 'uiSrc/services/hooks'
46
47
import BrowserSearchPanel from './components/browser-search-panel'
47
48
import BrowserLeftPanel from './components/browser-left-panel'
48
49
import BrowserRightPanel from './components/browser-right-panel'
@@ -76,15 +77,12 @@ const BrowserPage = () => {
76
77
77
78
const [ isPageViewSent , setIsPageViewSent ] = useState ( false )
78
79
const [ arePanelsCollapsed , setArePanelsCollapsed ] = useState ( isOneSideMode ( ! ! openedSidePanel ) )
79
- const [ selectedKey , setSelectedKey ] = useState < Nullable < RedisResponseBuffer > > (
80
- contextInstanceId === instanceId
81
- ? selectedKeyContext
82
- : null
83
- )
84
80
const [ isAddKeyPanelOpen , setIsAddKeyPanelOpen ] = useState ( false )
85
81
const [ isCreateIndexPanelOpen , setIsCreateIndexPanelOpen ] = useState ( false )
86
82
const [ isBulkActionsPanelOpen , setIsBulkActionsPanelOpen ] = useState ( bulkActionOpenContext )
87
83
84
+ const [ selectedKey , setSelectedKey ] = useStateWithContext < Nullable < RedisResponseBuffer > > ( selectedKeyContext , null )
85
+
88
86
const [ sizes , setSizes ] = useState ( panelSizes )
89
87
90
88
const prevSelectedType = useRef < string > ( type )
@@ -125,8 +123,8 @@ const BrowserPage = () => {
125
123
} , [ isBulkActionsPanelOpen ] )
126
124
127
125
useEffect ( ( ) => {
128
- setSelectedKey ( selectedKeyContext )
129
- } , [ selectedKeyContext ] )
126
+ if ( contextInstanceId === instanceId ) setSelectedKey ( selectedKeyContext )
127
+ } , [ selectedKeyContext , contextInstanceId ] )
130
128
131
129
useEffect ( ( ) => {
132
130
selectedKeyRef . current = selectedKey
0 commit comments