/**
 * Gestion des shortcodes dans l'éditeur
 * Les shortcodes pris en charge et leurs remplacements sont les suivants :
 * - `((v))` : Remplacé par une image avec une icône de vérification.
 * - `((x))` : Remplacé par une image avec une icône de croix.
 * - `((-))` : Remplacé par une image avec une icône tiret.
 * - `(:-))` : Remplacé par une image avec une icône de croix.
 * - `(:-|)` : Remplacé par une image avec une icône de croix.
 * - `(:-()` : Remplacé par une image avec une icône de croix.
 *
 * @function
 * @returns {void}
 */

function handleEditorShortCodes() {
  // Sélectionnez tous les éléments avec la classe 'entry-content'
  const editorContent = document.querySelector('.entry-content');
  if (!editorContent) return;

  const replacements = {
    // ((v))
    '\\(\\(v\\)\\)': `
        <div class="homegrade-shortcode-icon homegrade-shortcode-icon--checked"><img src="${mainAppJsDynamicDatas.template_directory_uri}/resources/img/graphic-assets/table-cell--check.svg"
     alt="${mainAppJsDynamicDatas.yes}"/></div>
    `,
    // ((x))
    '\\(\\(x\\)\\)': `
        <img class="homegrade-shortcode-icon homegrade-shortcode-icon--crossed" 
             src="${mainAppJsDynamicDatas.template_directory_uri}/resources/img/graphic-assets/table-cell--cross.svg" 
           alt="${mainAppJsDynamicDatas.no}"/>
    `,
    // ((-))
    '\\(\\(-\\)\\)': `
        <img class="homegrade-shortcode-icon homegrade-shortcode-icon--dashed" 
             src="${mainAppJsDynamicDatas.template_directory_uri}/resources/img/graphic-assets/table-cell--dash.svg" 
            alt="${mainAppJsDynamicDatas.neutral}"/>
    `,
    // (:-))
    '\\(:-\\)\\)': `
        <img class="homegrade-shortcode-icon homegrade-shortcode-icon--smiley homegrade-shortcode-icon--smiley-good" 
             src="${mainAppJsDynamicDatas.template_directory_uri}/resources/img/graphic-assets/homegrade_smiley-pratique-bonne.svg" 
             alt="${mainAppJsDynamicDatas.privilegier}"/>
    `,
    // (:-|)
    '\\(:-\\|\\)': `
        <img class="homegrade-shortcode-icon homegrade-shortcode-icon--smiley homegrade-shortcode-icon--smiley-neutral" 
             src="${mainAppJsDynamicDatas.template_directory_uri}/resources/img/graphic-assets/homegrade_smiley-pratique-intermediaire.svg" 
              alt="${mainAppJsDynamicDatas.prudence}"/>
    `,
    // (:-()
    '\\(:-\\(\\)': `
        <img class="homegrade-shortcode-icon homegrade-shortcode-icon--smiley homegrade-shortcode-icon--smiley-bad" 
             src="${mainAppJsDynamicDatas.template_directory_uri}/resources/img/graphic-assets/homegrade_smiley-pratique-mauvaise.svg" 
              alt="${mainAppJsDynamicDatas.ecarter}"/>
    `,
  };

  // Fonction pour remplacer les shortcodes dans le contenu
  function replaceShortcodes(content) {
    for (const [shortcodePattern, replacementHTML] of Object.entries(replacements)) {
      const regex = new RegExp(shortcodePattern, 'g');
      content = content.replace(regex, replacementHTML);
    }
    return content;
  }

  editorContent.innerHTML = replaceShortcodes(editorContent.innerHTML);
}

export default function editorInit() {
  handleEditorShortCodes();
}
