analytica-frontend-lib
Version:
Repositório público dos componentes utilizados nas plataformas da Analytica Ensino
1 lines • 2.34 kB
Source Map (JSON)
{"version":3,"sources":["../src/components/ZendeskWidget/ZendeskWidget.tsx"],"sourcesContent":["import { useEffect } from 'react';\n\nlet zendeskWidgetCount = 0;\n\nexport interface ZendeskWidgetProps {\n zendeskKey: string;\n}\n\n/** @internal Exposed for testing only */\nexport const _resetWidgetCount = () => {\n zendeskWidgetCount = 0;\n};\n\nexport const ZendeskWidget = ({ zendeskKey }: ZendeskWidgetProps) => {\n useEffect(() => {\n if (!zendeskKey) return;\n\n zendeskWidgetCount++;\n\n if (!document.getElementById('ze-snippet')) {\n const script = document.createElement('script');\n script.id = 'ze-snippet';\n script.src = `https://static.zdassets.com/ekr/snippet.js?key=${zendeskKey}`;\n script.async = true;\n\n script.onload = () => {\n const zE = (globalThis as unknown as Record<string, unknown>).zE as\n | ((...args: unknown[]) => void)\n | undefined;\n if (zE) {\n zE('messenger:set', 'locale', 'pt-BR');\n }\n };\n\n document.body.appendChild(script);\n }\n\n return () => {\n zendeskWidgetCount--;\n\n if (zendeskWidgetCount <= 0) {\n zendeskWidgetCount = 0;\n const existingScript = document.getElementById('ze-snippet');\n if (existingScript) {\n existingScript.remove();\n }\n const zE = (globalThis as unknown as Record<string, unknown>).zE as\n | ((...args: unknown[]) => void)\n | undefined;\n if (zE) {\n zE('messenger', 'close');\n }\n }\n };\n }, [zendeskKey]);\n\n return null;\n};\n"],"mappings":";AAAA,SAAS,iBAAiB;AAE1B,IAAI,qBAAqB;AAOlB,IAAM,oBAAoB,MAAM;AACrC,uBAAqB;AACvB;AAEO,IAAM,gBAAgB,CAAC,EAAE,WAAW,MAA0B;AACnE,YAAU,MAAM;AACd,QAAI,CAAC,WAAY;AAEjB;AAEA,QAAI,CAAC,SAAS,eAAe,YAAY,GAAG;AAC1C,YAAM,SAAS,SAAS,cAAc,QAAQ;AAC9C,aAAO,KAAK;AACZ,aAAO,MAAM,kDAAkD,UAAU;AACzE,aAAO,QAAQ;AAEf,aAAO,SAAS,MAAM;AACpB,cAAM,KAAM,WAAkD;AAG9D,YAAI,IAAI;AACN,aAAG,iBAAiB,UAAU,OAAO;AAAA,QACvC;AAAA,MACF;AAEA,eAAS,KAAK,YAAY,MAAM;AAAA,IAClC;AAEA,WAAO,MAAM;AACX;AAEA,UAAI,sBAAsB,GAAG;AAC3B,6BAAqB;AACrB,cAAM,iBAAiB,SAAS,eAAe,YAAY;AAC3D,YAAI,gBAAgB;AAClB,yBAAe,OAAO;AAAA,QACxB;AACA,cAAM,KAAM,WAAkD;AAG9D,YAAI,IAAI;AACN,aAAG,aAAa,OAAO;AAAA,QACzB;AAAA,MACF;AAAA,IACF;AAAA,EACF,GAAG,CAAC,UAAU,CAAC;AAEf,SAAO;AACT;","names":[]}