clay-server 2.32.0-beta.1 → 2.32.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -18,6 +18,7 @@ var badgeEl = null;
|
|
|
18
18
|
// --- Update available banner state ---
|
|
19
19
|
var pendingUpdateMsg = null;
|
|
20
20
|
var updateReshowTimer = null;
|
|
21
|
+
var updateDismissedAt = 0;
|
|
21
22
|
var UPDATE_RESHOW_INTERVAL = 60 * 60 * 1000; // 1 hour
|
|
22
23
|
|
|
23
24
|
// ========================================================
|
|
@@ -331,6 +332,9 @@ export function showUpdateBanner(msg) {
|
|
|
331
332
|
pendingUpdateMsg = msg;
|
|
332
333
|
if (!bannerContainer) return;
|
|
333
334
|
|
|
335
|
+
// If user dismissed recently, skip until reshow timer fires
|
|
336
|
+
if (updateDismissedAt && (Date.now() - updateDismissedAt) < UPDATE_RESHOW_INTERVAL) return;
|
|
337
|
+
|
|
334
338
|
// Remove any existing update banner
|
|
335
339
|
var existing = bannerContainer.querySelector('[data-notif-id="_update"]');
|
|
336
340
|
if (existing) removeBanner(existing);
|
|
@@ -395,9 +399,11 @@ export function showUpdateBanner(msg) {
|
|
|
395
399
|
}
|
|
396
400
|
|
|
397
401
|
function scheduleUpdateReshow() {
|
|
402
|
+
updateDismissedAt = Date.now();
|
|
398
403
|
if (updateReshowTimer) clearTimeout(updateReshowTimer);
|
|
399
404
|
updateReshowTimer = setTimeout(function () {
|
|
400
405
|
updateReshowTimer = null;
|
|
406
|
+
updateDismissedAt = 0;
|
|
401
407
|
if (pendingUpdateMsg) showUpdateBanner(pendingUpdateMsg);
|
|
402
408
|
}, UPDATE_RESHOW_INTERVAL);
|
|
403
409
|
}
|