1- import { type FC , useState } from 'react' ;
1+ import type { FC } from 'react' ;
2+ import { useLocalStorageState } from 'hooks/useLocalStorageState' ;
23import { Button , Collapse , styled , Typography } from '@mui/material' ;
34import { Badge } from 'component/common/Badge/Badge' ;
45import ExpandMoreIcon from '@mui/icons-material/ExpandMore' ;
@@ -109,14 +110,19 @@ export const FeatureImpactHeader: FC<FeatureImpactHeaderProps> = ({
109110 featureName,
110111 onAddChart,
111112} ) => {
112- const [ expanded , setExpanded ] = useState ( false ) ;
113+ const [ impactMetricsAccordionState , setImpactMetricsAccordionState ] =
114+ useLocalStorageState < 'open' | 'closed' > (
115+ 'impact-metrics-accordion:expanded' ,
116+ 'closed' ,
117+ ) ;
113118 const { trackEvent } = usePlausibleTracker ( ) ;
114119
115120 const { impactMetrics } = useFeatureImpactMetrics ( {
116121 projectId,
117122 featureName,
118123 } ) ;
119124
125+ const expanded = impactMetricsAccordionState === 'open' ;
120126 const chartCount = impactMetrics . configs . length ;
121127 const hasMetrics = chartCount > 0 ;
122128
@@ -126,7 +132,7 @@ export const FeatureImpactHeader: FC<FeatureImpactHeaderProps> = ({
126132 props : { eventType : 'impact-accordion-opened' } ,
127133 } ) ;
128134 }
129- setExpanded ( ! expanded ) ;
135+ setImpactMetricsAccordionState ( expanded ? 'closed' : 'open' ) ;
130136 } ;
131137 const onHeaderKeyDown = ( e : React . KeyboardEvent ) => {
132138 if ( e . key === 'Enter' || e . key === ' ' ) {
0 commit comments