analytica-frontend-lib
Version:
Repositório público dos componentes utilizados nas plataformas da Analytica Ensino
27 lines • 1.12 kB
TypeScript
export interface UseZendeskConfig {
/** Chave do canal Zendesk (snippet). */
zendeskKey: string;
/**
* Carrega o messenger apenas quando `true` (ex.: suporte é ZENDESK).
* Default: `true`.
*/
enabled?: boolean;
}
export interface UseZendeskReturn {
/** `true` quando o messenger (`window.zE`) está disponível para abrir. */
ready: boolean;
/** Abre o messenger do Zendesk. No-op enquanto não estiver pronto. */
openChat: () => void;
}
/**
* Carrega o messenger do Zendesk de forma resiliente e isolada:
* - injeta o snippet uma única vez (dedupe por id);
* - se o script falhar (rede), re-injeta com backoff exponencial até carregar;
* - sinaliza `ready` assim que `window.zE` fica disponível;
* - `openChat` abre o messenger (no-op enquanto não estiver pronto).
*
* O loop de carregamento fica confinado a este hook — não bloqueia o restante
* da página (form de login, Google, etc. funcionam independentemente).
*/
export declare const useZendesk: ({ zendeskKey, enabled, }: UseZendeskConfig) => UseZendeskReturn;
//# sourceMappingURL=useZendesk.d.ts.map