signal-desktop/js/modules/views/initialization.js
2020-11-04 13:03:13 -06:00

50 lines
972 B
JavaScript

// Copyright 2018-2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
/* eslint-env browser */
/* global i18n: false */
const DISPLAY_THRESHOLD = 3000; // milliseconds
const SELECTOR = '.app-loading-screen .message';
let timeout;
let targetString;
let didTimeout = false;
const clear = () => {
if (timeout) {
clearTimeout(timeout);
timeout = null;
}
};
const setMessage = loadingText => {
const message = document.querySelector(SELECTOR);
if (!message) {
return clear;
}
targetString = loadingText || i18n('optimizingApplication');
message.innerText = didTimeout ? targetString : i18n('loading');
if (timeout) {
return clear;
}
timeout = setTimeout(() => {
didTimeout = true;
const innerMessage = document.querySelector(SELECTOR);
if (!innerMessage) {
return;
}
innerMessage.innerText = targetString;
}, DISPLAY_THRESHOLD);
return clear;
};
module.exports = {
setMessage,
};