mirror of
https://github.com/overleaf/overleaf.git
synced 2025-04-07 18:42:42 +00:00
Merge pull request #8851 from overleaf/ab-fix-compile-time-warning-redisplay
Fix the compile time warning being displayed again after dismiss GitOrigin-RevId: 4b3d80cfa7664e13154418aa510cb9265e282525
This commit is contained in:
parent
1787026eac
commit
a62fb305c9
1 changed files with 16 additions and 11 deletions
|
@ -11,9 +11,9 @@ const ONE_DAY = 24 * 60 * 60 * 24 * 1000
|
|||
function CompileTimeWarning() {
|
||||
const { t } = useTranslation()
|
||||
|
||||
const [lastDisplay, setLastDisplay] = usePersistedState(
|
||||
'compile-time-warning-displayed-at',
|
||||
0,
|
||||
const [displayStatus, setDisplayStatus] = usePersistedState(
|
||||
'compile-time-warning-display-status',
|
||||
{ lastDisplayTime: 0, dismissed: false },
|
||||
true
|
||||
)
|
||||
|
||||
|
@ -22,24 +22,28 @@ function CompileTimeWarning() {
|
|||
|
||||
useEffect(() => {
|
||||
if (showCompileTimeWarning) {
|
||||
if (lastDisplay && Date.now() - lastDisplay < ONE_DAY) {
|
||||
if (
|
||||
displayStatus &&
|
||||
Date.now() - displayStatus.lastDisplayTime < ONE_DAY
|
||||
) {
|
||||
return
|
||||
}
|
||||
setLastDisplay(Date.now())
|
||||
setDisplayStatus({ lastDisplayTime: Date.now(), dismissed: false })
|
||||
eventTracking.sendMB('compile-time-warning-displayed', {})
|
||||
}
|
||||
}, [showCompileTimeWarning, lastDisplay, setLastDisplay])
|
||||
}, [showCompileTimeWarning, displayStatus, setDisplayStatus])
|
||||
|
||||
const getTimeSinceDisplayed = useCallback(() => {
|
||||
return (Date.now() - lastDisplay) / 1000
|
||||
}, [lastDisplay])
|
||||
return (Date.now() - displayStatus.lastDisplayTime) / 1000
|
||||
}, [displayStatus])
|
||||
|
||||
const closeWarning = useCallback(() => {
|
||||
eventTracking.sendMB('compile-time-warning-dismissed', {
|
||||
'time-since-displayed': getTimeSinceDisplayed(),
|
||||
})
|
||||
setShowCompileTimeWarning(false)
|
||||
}, [getTimeSinceDisplayed, setShowCompileTimeWarning])
|
||||
setDisplayStatus(displayStatus => ({ ...displayStatus, dismissed: true }))
|
||||
}, [getTimeSinceDisplayed, setShowCompileTimeWarning, setDisplayStatus])
|
||||
|
||||
const handleUpgradeClick = useCallback(
|
||||
event => {
|
||||
|
@ -49,11 +53,12 @@ function CompileTimeWarning() {
|
|||
'time-since-displayed': getTimeSinceDisplayed(),
|
||||
})
|
||||
setShowCompileTimeWarning(false)
|
||||
setDisplayStatus(displayStatus => ({ ...displayStatus, dismissed: true }))
|
||||
},
|
||||
[getTimeSinceDisplayed, setShowCompileTimeWarning]
|
||||
[getTimeSinceDisplayed, setShowCompileTimeWarning, setDisplayStatus]
|
||||
)
|
||||
|
||||
if (!showCompileTimeWarning) {
|
||||
if (!showCompileTimeWarning || displayStatus.dismissed) {
|
||||
return null
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue