/* ALFRED_STT_INLINE_GLASS_V1 — deplacement de la transcription existante, sans dupliquer les elements. */ (() => { 'use strict'; function mount() { const hero = document.querySelector('#alfredMainV1 .av-voice-hero'); const panel = document.querySelector('.transcript-panel'); if (!hero || !panel) return false; if (panel.classList.contains('av-stt-inline')) return true; // alfred.js et les autres extensions gardent les memes noeuds et les memes IDs. // Les mises a jour Vosk/Whisper restent donc fonctionnelles sans nouveau listener. hero.insertBefore(panel, hero.firstChild); panel.classList.add('av-stt-inline'); hero.classList.add('av-stt-inline-on'); panel.setAttribute('aria-label', 'Transcription vocale en direct'); // Taille du canvas recalculee par le gestionnaire actuel en cas de resize. window.requestAnimationFrame(() => window.dispatchEvent(new Event('resize'))); return true; } if (!mount()) { // Les scripts Glass sont generalement synchrones, mais on gere un chargement differe. let count = 0; const interval = window.setInterval(() => { if (mount() || ++count >= 16) window.clearInterval(interval); }, 300); } })();