@@ -15,6 +15,7 @@ import {FrontEndErrorContainer} from '../FrontEnd/FrontEndErrorContainer.react';
15
15
16
16
const classes = ( base , variant , variant2 ) =>
17
17
`${ base } ${ base } --${ variant } ` + ( variant2 ? ` ${ base } --${ variant2 } ` : '' ) ;
18
+ const DAY_IN_MS = 86400000 ;
18
19
19
20
function compareVersions ( v1 , v2 ) {
20
21
const v1Parts = v1 . split ( '.' ) . map ( Number ) ;
@@ -43,18 +44,20 @@ function shouldShowUpgradeNotification(currentDashVersion, newDashVersion) {
43
44
return false ;
44
45
} else if (
45
46
lastDismissed &&
46
- Date . now ( ) - Number ( lastDismissed ) > 7 * 24 * 60 * 60 * 1000
47
+ Date . now ( ) - Number ( lastDismissed ) > DAY_IN_MS
47
48
) {
48
49
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
+ ) {
57
58
return true ;
59
+ } else {
60
+ return ! lastDismissed && ! lastDismissedVersion ;
58
61
}
59
62
}
60
63
@@ -89,7 +92,9 @@ class DebugMenu extends Component {
89
92
document . addEventListener ( 'click' , e => {
90
93
if (
91
94
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
+ )
93
98
) {
94
99
this . setState ( { upgradeTooltipOpened : false } ) ;
95
100
}
@@ -99,35 +104,28 @@ class DebugMenu extends Component {
99
104
render ( ) {
100
105
const { popup, upgradeInfo, upgradeTooltipOpened} = this . state ;
101
106
const { error, hotReload, config} = this . props ;
107
+ const newDashVersion = upgradeInfo [ 0 ]
108
+ ? upgradeInfo [ 0 ] . version
109
+ : undefined ;
102
110
103
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
104
- const setDontShowAgain = i => {
111
+ const setDontShowAgain = ( ) => {
105
112
// Set local storage to record the last dismissed notification
106
113
localStorage . setItem ( 'noNotifications' , true ) ;
107
114
this . setState ( { upgradeTooltipOpened : false } ) ;
108
115
} ;
109
116
110
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
111
- const setRemindMeLater = i => {
117
+ const setRemindMeLater = ( ) => {
112
118
// Set local storage to record the last dismissed notification
113
119
localStorage . setItem ( 'lastDismissed' , Date . now ( ) ) ;
114
120
this . setState ( { upgradeTooltipOpened : false } ) ;
115
121
} ;
116
122
117
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
118
- const setSkipThisVersion = i => {
123
+ const setSkipThisVersion = ( ) => {
119
124
// Set local storage to record the last dismissed version
120
- localStorage . setItem (
121
- 'lastDismissedVersion' ,
122
- upgradeInfo [ i ] . version
123
- ) ;
125
+ localStorage . setItem ( 'lastDismissedVersion' , newDashVersion ) ;
124
126
this . setState ( { upgradeTooltipOpened : false } ) ;
125
127
} ;
126
128
127
- const newDashVersion = upgradeInfo [ 0 ]
128
- ? upgradeInfo [ 0 ] . version
129
- : undefined ;
130
-
131
129
const errCount = error . frontEnd . length + error . backEnd . length ;
132
130
const connected = error . backEndConnected ;
133
131
0 commit comments