(() => {
  function loadWidgetHtml() {
    fetch('https://trustmate.io/api/widget/e969e136-66a6-4c29-aa2c-ccb3fee19891/html')
      .then((response) => {
        if (!response.ok) {
          throw new Error('There was a problem with fetching widget.');
        }
        return response.text();
      })
      .then((html) => { document.getElementById('TRUST_MATE_STICKER_3_WIDGET').innerHTML = html; })
      .catch((err) => console.error(err));
  }

  function loadWidgetScript() {
    const widgetScript = document.createElement('script');
    widgetScript.src = 'https\u003A\/\/trustmate.io\/build\/js\/widget\/emu.6eeec14f.js';
    widgetScript.defer = true;
    widgetScript.onload = () => {
      loadWidgetHtml();
    };
    document.body.appendChild(widgetScript);
  }

  const alpineSrc = 'https://cdn.jsdelivr.net/gh/alpinejs/alpine@v2.7.0/dist/alpine.min.js';
  const alpineExists = document.querySelector(`script[src="${alpineSrc}"`);

  if (alpineExists) {
    loadWidgetScript();
  } else {
    const script = document.createElement('script');
    script.src = alpineSrc;
    script.defer = true;
    script.onload = () => {
      loadWidgetScript();
    };
    document.head.appendChild(script);
  }
})();
