feat: save discussion alert dismissal (#1245)
This commit is contained in:
@@ -42,8 +42,11 @@ const PageAlerts = ({
|
||||
const intl = useIntl();
|
||||
const dispatch = useDispatch();
|
||||
const studioBaseUrl = getConfig().STUDIO_BASE_URL;
|
||||
const discussionAlertDismissKey = `discussionAlertDismissed-${courseId}`;
|
||||
const [showConfigAlert, setShowConfigAlert] = useState(true);
|
||||
const [showDiscussionAlert, setShowDiscussionAlert] = useState(true);
|
||||
const [showDiscussionAlert, setShowDiscussionAlert] = useState(
|
||||
localStorage.getItem(discussionAlertDismissKey) === null,
|
||||
);
|
||||
const { newFiles, conflictingFiles, errorFiles } = useSelector(getPasteFileNotices);
|
||||
|
||||
const getAssetsUrl = () => {
|
||||
@@ -84,6 +87,7 @@ const PageAlerts = ({
|
||||
|
||||
const onDismiss = () => {
|
||||
setShowDiscussionAlert(false);
|
||||
localStorage.setItem(discussionAlertDismissKey, 'true');
|
||||
};
|
||||
|
||||
return (
|
||||
|
||||
@@ -98,6 +98,11 @@ describe('<PageAlerts />', () => {
|
||||
expect(learnMoreBtn).toBeInTheDocument();
|
||||
expect(learnMoreBtn).toHaveAttribute('href', 'some-learn-more-url');
|
||||
|
||||
const dismissBtn = queryByText('Dismiss');
|
||||
await act(async () => fireEvent.click(dismissBtn));
|
||||
const discussionAlertDismissKey = `discussionAlertDismissed-${pageAlertsData.courseId}`;
|
||||
expect(localStorage.getItem(discussionAlertDismissKey)).toBe('true');
|
||||
|
||||
const feedbackLink = queryByText(messages.discussionNotificationFeedback.defaultMessage);
|
||||
expect(feedbackLink).toBeInTheDocument();
|
||||
expect(feedbackLink).toHaveAttribute('href', 'some-feedback-url');
|
||||
|
||||
Reference in New Issue
Block a user