컴포저에 외부 위젯 추가하기

방향을 잡아주셔서 감사합니다. 그런데 또 다른 문제가 생겼습니다. 해당 스크립트를 사용하는 토픽 페이지를 열 때 로딩/렌더링이 되지 않아요. 페이지를 새로고침해야 제대로 로딩되는데, 그것도 매번은 아닙니다. 이 문제가 Discourse가 단일 페이지 애플리케이션(SPA)이기 때문인가요? 제 Discourse 지식이 부족한 건지, 아니면 제가 직접 프로그래밍해야 하는 부분인지 파악하려고 합니다.

현재 사용하고 있는 코드는 다음과 같습니다. 어떤 방향의 조언이라도 감사히 듣겠습니다.

 let loadScript = require('discourse/lib/load-script').default;
  api.decorateCooked($elem => { $elem.children('div[data-PAWidget]').ready(function() {
         $elem.children('div[data-PAWidget]').append(" <div id='PurpleAirWidget_11726_module_AQI_conversion_C0_average_0_layer_standard'>Loading PurpleAir Widget...</div>");
       loadScript("https://www.purpleair.com/pa.widget.js?key=21R72LUN79CXRZ50&module=AQI&conversion=C0&average=0&layer=standard&container=PurpleAirWidget_11726_module_AQI_conversion_C0_average_0_layer_standard").then(()=>{       
    })  
  })     
  });