utterances-react-component
Version:
Type safety react component for utterances
2 lines (1 loc) • 962 B
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0}),exports[Symbol.toStringTag]="Module";var e=require("react");function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r=t(e);exports.Utterances=({repo:t,label:s,theme:u,issueTerm:i,issueNumber:n})=>{const o=e.useRef(null);return e.useEffect((()=>{if(!o.current)return;const e=(({repo:e,label:t,theme:r,issueTerm:s,issueNumber:u})=>{const i=document.createElement("script");if(i.src="https://utteranc.es/client.js",i.async=!0,i.setAttribute("repo",e),s){const e=Array.isArray(s)?s.join(" "):s;i.setAttribute("issue-term",e)}else"number"==typeof u&&i.setAttribute("issue-number",String(u));return i.setAttribute("crossorigin","anonymous"),i.setAttribute("theme",r),t&&i.setAttribute("label",t),i})({repo:t,label:s,theme:u,issueTerm:i,issueNumber:n});var r,c;r=o.current,c=e,r.childNodes.forEach((e=>{e.remove()})),r.appendChild(c)}),[]),r.default.createElement("div",{ref:o})};