Installation Wizard

Angular

Inserir o loader no AppComponent ou num serviço singleton de bootstrap.

Instalação

Injetar o script no bootstrap do shell público.
Evitar re-renderizações múltiplas do AppComponent em microfrontends.
Testar o launcher no build final e não apenas em dev mode.

Configuração

Usar environment.ts para token e base URL.
Se existir CSP, adicionar o domínio do loader à policy.

Troubleshooting

Se o widget aparecer duplicado, mover a lógica para um serviço singleton que garanta apenas uma injeção.

Snippet

Base pronta para Angular

Abrir configurator
// app.component.ts
ngOnInit(): void {
  const script = document.createElement('script');
  script.src = 'https://cdn.chatbeep.app/widget/chatbeep.js';
  script.async = true;
  script.dataset.apiBase = 'https://chatbeep.app';
  script.dataset.installationToken = 'SEU_TOKEN_DA_INSTALACAO';
  document.body.appendChild(script);
}