backup 03.26c28v1

(function () {
  var SVG_PLAY = '<svg width="10" height="12" viewBox="0 0 10 12" fill="currentColor"><polygon points="0,0 10,6 0,12"/></svg>';
  var SVG_PAUSE = '<svg width="10" height="12" viewBox="0 0 10 12" fill="currentColor"><rect x="0" y="0" width="3.5" height="12"/><rect x="6.5" y="0" width="3.5" height="12"/></svg>';
  var cfg = window.TP_AUDIO_CONFIG || {};
  var sectionSelector = cfg.sectionSelector || 'section[id*="audio-play"]';
  var itemSelector = cfg.itemSelector || '.list-item';
  var anchorSelector = cfg.anchorSelector || 'a.list-item-content__button';
  var contentSelector = cfg.contentSelector || '.list-item-content';
  var loop = cfg.loop !== undefined ? cfg.loop : false;
  var volume = cfg.volume !== undefined ? cfg.volume : 1;
  var currentAudio = null;
  var currentBtn = null;
  function resetBtn(btn) {
    btn.innerHTML = SVG_PLAY;
    btn.setAttribute('aria-label', 'Play');
  }
  function initItem(item) {
    if (item.dataset.tpAudio) return;
    var anchor = item.querySelector(anchorSelector);
    var contentEl = item.querySelector(contentSelector);
    if (!contentEl) return;
    var mp3 = anchor ? anchor.getAttribute('href') : '';
    if (!mp3) return;
    item.dataset.tpAudio = '1';
    var audio = new Audio(mp3);
    audio.loop = loop;
    audio.volume = volume;
    var btn = document.createElement('button');
    btn.className = 'tp-play-btn';
    btn.setAttribute('aria-label', 'Play');
    btn.innerHTML = SVG_PLAY;
    audio.addEventListener('ended', function () {
      if (!loop) {
        resetBtn(btn);
        currentAudio = null;
        currentBtn = null;
      }
    });
    btn.addEventListener('click', function () {
      if (currentAudio && currentAudio !== audio) {
        currentAudio.pause();
        currentAudio.currentTime = 0;
        resetBtn(currentBtn);
      }
      if (audio.paused) {
        audio.play();
        btn.innerHTML = SVG_PAUSE;
        btn.setAttribute('aria-label', 'Pause');
        currentAudio = audio;
        currentBtn = btn;
      } else {
        audio.pause();
        resetBtn(btn);
        currentAudio = null;
        currentBtn = null;
      }
    });
    contentEl.insertBefore(btn, contentEl.firstChild);
  }
  function initSection() {
    var section = document.querySelector(sectionSelector);
    if (!section) return false;
    var items = section.querySelectorAll(itemSelector);
    if (!items.length) return false;
    items.forEach(initItem);
    return true;
  }
  function tryInit() {
    if (initSection()) return;
    var tries = 0;
    var interval = setInterval(function () {
      if (initSection() || ++tries > 20) clearInterval(interval);
    }, 300);
  }
  document.addEventListener('DOMContentLoaded', tryInit);
  window.addEventListener('load', tryInit);
  window.addEventListener('mercury:load', tryInit);
})();

 

Buy me a coffee