Skip to content

Commit f87abf9

Browse files
feat: persist impact metrics accordion state in localStorage (#11477)
1 parent d1d8a2a commit f87abf9

2 files changed

Lines changed: 10 additions & 4 deletions

File tree

frontend/src/component/feature/FeatureView/FeatureImpactOverview/FeatureImpactHeader.tsx

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import { type FC, useState } from 'react';
1+
import type { FC } from 'react';
2+
import { useLocalStorageState } from 'hooks/useLocalStorageState';
23
import { Button, Collapse, styled, Typography } from '@mui/material';
34
import { Badge } from 'component/common/Badge/Badge';
45
import 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 === ' ') {

frontend/src/component/feature/FeatureView/FeatureOverview/FeatureOverview.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ export const FeatureOverview = ({ header }: FeatureOverviewProps) => {
8989
) : null}
9090
</div>
9191
<StyledMainContent>
92-
{header}
92+
{!loading && header}
9393
<FeatureOverviewEnvironments
9494
onToggleEnvOpen={toggleShowTooltip}
9595
hiddenEnvironments={hiddenEnvironments}

0 commit comments

Comments
 (0)