Skip to content

Commit b710c65

Browse files
committed
Update logic for remind me later/skip this version
1 parent dc5aaae commit b710c65

File tree

1 file changed

+22
-24
lines changed

1 file changed

+22
-24
lines changed

dash/dash-renderer/src/components/error/menu/DebugMenu.react.js

Lines changed: 22 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import {FrontEndErrorContainer} from '../FrontEnd/FrontEndErrorContainer.react';
1515

1616
const classes = (base, variant, variant2) =>
1717
`${base} ${base}--${variant}` + (variant2 ? ` ${base}--${variant2}` : '');
18+
const DAY_IN_MS = 86400000;
1819

1920
function compareVersions(v1, v2) {
2021
const v1Parts = v1.split('.').map(Number);
@@ -43,18 +44,20 @@ function shouldShowUpgradeNotification(currentDashVersion, newDashVersion) {
4344
return false;
4445
} else if (
4546
lastDismissed &&
46-
Date.now() - Number(lastDismissed) > 7 * 24 * 60 * 60 * 1000
47+
Date.now() - Number(lastDismissed) > DAY_IN_MS
4748
) {
4849
return true;
49-
} else if (lastDismissedVersion) {
50-
return (
51-
compareVersions(
52-
localStorage.getItem('lastDismissedVersion'),
53-
newDashVersion
54-
) < 0
55-
);
56-
} else {
50+
} else if (
51+
lastDismissedVersion &&
52+
!lastDismissed &&
53+
compareVersions(
54+
localStorage.getItem('lastDismissedVersion'),
55+
newDashVersion
56+
) < 0
57+
) {
5758
return true;
59+
} else {
60+
return !lastDismissed && !lastDismissedVersion;
5861
}
5962
}
6063

@@ -89,7 +92,9 @@ class DebugMenu extends Component {
8992
document.addEventListener('click', e => {
9093
if (
9194
this.state.upgradeTooltipOpened &&
92-
!e.target.closest('.dash-debug-menu__upgrade-button')
95+
!e.target.matches(
96+
'.dash-debug-menu__version, .dash-debug-menu__version *'
97+
)
9398
) {
9499
this.setState({upgradeTooltipOpened: false});
95100
}
@@ -99,35 +104,28 @@ class DebugMenu extends Component {
99104
render() {
100105
const {popup, upgradeInfo, upgradeTooltipOpened} = this.state;
101106
const {error, hotReload, config} = this.props;
107+
const newDashVersion = upgradeInfo[0]
108+
? upgradeInfo[0].version
109+
: undefined;
102110

103-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
104-
const setDontShowAgain = i => {
111+
const setDontShowAgain = () => {
105112
// Set local storage to record the last dismissed notification
106113
localStorage.setItem('noNotifications', true);
107114
this.setState({upgradeTooltipOpened: false});
108115
};
109116

110-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
111-
const setRemindMeLater = i => {
117+
const setRemindMeLater = () => {
112118
// Set local storage to record the last dismissed notification
113119
localStorage.setItem('lastDismissed', Date.now());
114120
this.setState({upgradeTooltipOpened: false});
115121
};
116122

117-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
118-
const setSkipThisVersion = i => {
123+
const setSkipThisVersion = () => {
119124
// Set local storage to record the last dismissed version
120-
localStorage.setItem(
121-
'lastDismissedVersion',
122-
upgradeInfo[i].version
123-
);
125+
localStorage.setItem('lastDismissedVersion', newDashVersion);
124126
this.setState({upgradeTooltipOpened: false});
125127
};
126128

127-
const newDashVersion = upgradeInfo[0]
128-
? upgradeInfo[0].version
129-
: undefined;
130-
131129
const errCount = error.frontEnd.length + error.backEnd.length;
132130
const connected = error.backEndConnected;
133131

0 commit comments

Comments
 (0)