Skip to content

Commit 58b5451

Browse files
authored
feat(rightPanel): store the state of the panel in the localStorage (#601)
1 parent b1d6d0f commit 58b5451

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

src/components/Body.js

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import React from 'react'
22
import { InstantSearch } from 'react-instantsearch-dom'
33
import styled from 'styled-components'
4-
54
import { useMeilisearchClientContext } from 'context/MeilisearchClientContext'
5+
import useLocalStorage from 'hooks/useLocalStorage'
66
import Box from 'components/Box'
77
import Header from 'components/Header/index'
88
import RightPanel from 'components/RightPanel'
@@ -45,11 +45,17 @@ const Body = ({
4545
}) => {
4646
const { meilisearchJsClient, instantMeilisearchClient } =
4747
useMeilisearchClientContext()
48+
const [storedIsPanelOpen, setStoredIsPanelOpen] = useLocalStorage(
49+
'meilisearch-panel-open',
50+
true
51+
)
4852

4953
// Right-side panel
50-
const [isRightPanelOpen, setIsRightPanelOpen] = React.useState(true)
54+
const [isRightPanelOpen, setIsRightPanelOpen] =
55+
React.useState(storedIsPanelOpen)
5156
const handleTogglePanel = React.useCallback(() => {
5257
setIsRightPanelOpen((isOpen) => !isOpen)
58+
setStoredIsPanelOpen((isOpen) => !isOpen)
5359
}, [])
5460

5561
return (
@@ -84,7 +90,10 @@ const Body = ({
8490
</ContentWrapper>
8591
<RightPanel
8692
isOpen={isRightPanelOpen}
87-
onClose={() => setIsRightPanelOpen(false)}
93+
onClose={() => {
94+
setIsRightPanelOpen(false)
95+
setStoredIsPanelOpen(false)
96+
}}
8897
/>
8998
</InstantSearch>
9099
)

0 commit comments

Comments
 (0)