Skip to content

Commit 33d7704

Browse files
committed
Unify feedbackPanelLocalStorageKey and feedbackSnippetId into one single prop
1 parent 3e5cac4 commit 33d7704

File tree

3 files changed

+5
-12
lines changed

3 files changed

+5
-12
lines changed

src/core/packages/chrome/browser-internal/src/ui/project/sidenav_v2/navigation/navigation_feedback_snippet.tsx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ interface NavigationFeedbackSnippetProps {
1616
solutionId: SolutionId;
1717
}
1818

19-
const feedbackPanelLocalStorageKey = 'core.ui.chrome.sideNavigation.feedbackInteraction';
2019
const feedbackSnippetId = 'sideNavigationFeedback';
2120

2221
const feedbackUrls: { [id in SolutionId]: string } = {
@@ -47,7 +46,6 @@ export const NavigationFeedbackSnippet = ({ solutionId }: NavigationFeedbackSnip
4746
<FeedbackSnippet
4847
feedbackButtonMessage={feedbackButtonMessage}
4948
feedbackSnippetId={feedbackSnippetId}
50-
feedbackPanelLocalStorageKey={feedbackPanelLocalStorageKey}
5149
promptViewMessage={promptViewMessage}
5250
surveyUrl={feedbackSurveyUrl}
5351
/>

src/platform/packages/shared/shared-ux/feedback_snippet/impl/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ A snippet to gather user feedback. It initially renders as a panel, and once int
1515
## Behavior
1616
The component has two main states:
1717
- **Panel:** On its first render for a user, the component displays as a full panel with the `promptViewMessage` and options to provide positive ("Yes") or negative ("No") feedback. A "Dismiss" (x) button is also available.
18-
- **Button:** The component uses the provided `feedbackPanelLocalStorageKey` to track whether the user has interacted with it. If a value is present for that key, the component will render as a button instead.
18+
- **Button:** The component uses the provided `feedbackSnippetId` to track whether the user has interacted with it. If a value is present for that key, the component will render as a button instead.
1919

2020
## Feedback Panel Views
2121
- **Prompt:** The panel shows a custom `promptViewMessage` to gather feedback from the user.

src/platform/packages/shared/shared-ux/feedback_snippet/impl/src/feedback_snippet.tsx

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,9 @@ interface FeedbackSnippetProps {
2020
*/
2121
feedbackButtonMessage: React.ReactNode;
2222
/**
23-
* HTML id for click tracking purposes.
23+
* Id used for local storage and for HTML ids.
2424
*/
2525
feedbackSnippetId: string;
26-
/**
27-
* Key for local storage.
28-
*/
29-
feedbackPanelLocalStorageKey: string;
3026
/**
3127
* Message to display during the feedback prompt view.
3228
*/
@@ -46,22 +42,21 @@ export type FeedbackView = 'prompt' | 'positive' | 'negative';
4642
export const FeedbackSnippet = ({
4743
feedbackButtonMessage,
4844
feedbackSnippetId,
49-
feedbackPanelLocalStorageKey,
5045
promptViewMessage,
5146
surveyUrl,
5247
}: FeedbackSnippetProps) => {
5348
const [feedbackView, setFeedbackView] = useState<FeedbackView>('prompt');
5449
const [showPanel, setShowPanel] = useState(() => {
55-
return localStorage.getItem(feedbackPanelLocalStorageKey) === null;
50+
return localStorage.getItem(feedbackSnippetId) === null;
5651
});
5752

5853
const handleOpenSurvey = () => {
5954
window.open(surveyUrl, '_blank');
6055
};
6156

6257
const storeFeedbackInteraction = useCallback(() => {
63-
localStorage.setItem(feedbackPanelLocalStorageKey, Date.now().toString());
64-
}, [feedbackPanelLocalStorageKey]);
58+
localStorage.setItem(feedbackSnippetId, Date.now().toString());
59+
}, [feedbackSnippetId]);
6560

6661
const handleDismissPanel = useCallback(() => {
6762
setShowPanel(false);

0 commit comments

Comments
 (0)