// 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,
};
