Browse Source
* Use named React imports * More manual edits * Remove displayNames * rm dead codemain
dan
2 years ago
committed by
GitHub
76 changed files with 325 additions and 445 deletions
@ -1,49 +0,0 @@ |
|||
/* |
|||
* Copyright (c) Facebook, Inc. and its affiliates. |
|||
*/ |
|||
|
|||
/** |
|||
* Ported from gatsby-plugin-twitter |
|||
* https://github.com/gatsbyjs/gatsby/tree/master/packages/gatsby-plugin-twitter
|
|||
*/ |
|||
import * as React from 'react'; |
|||
|
|||
const injectTwitterScript = function injectTwitterScript() { |
|||
function addJS(jsCode: any) { |
|||
const s = document.createElement('script'); |
|||
s.type = 'text/javascript'; |
|||
s.innerText = jsCode; |
|||
document.getElementsByTagName('head')[0].appendChild(s); |
|||
} |
|||
|
|||
addJS( |
|||
'\n window.twttr = (function(d, s, id) {\n var js,\n fjs = d.getElementsByTagName(s)[0],\n t = window.twttr || {};\n if (d.getElementById(id)) return t;\n js = d.createElement(s);\n js.id = id;\n js.src = "https://platform.twitter.com/widgets.js";\n fjs.parentNode.insertBefore(js, fjs);\n t._e = [];\n t.ready = function(f) {\n t._e.push(f);\n };\n return t;\n })(document, "script", "twitter-wjs");\n ' |
|||
); |
|||
}; |
|||
|
|||
let injectedTwitterScript = false; |
|||
const embedClasses = [ |
|||
'.twitter-tweet', |
|||
'.twitter-timeline', |
|||
'.twitter-follow-button', |
|||
'.twitter-share-button', |
|||
].join(','); |
|||
|
|||
export function useTwitter() { |
|||
React.useEffect(() => { |
|||
if (document.querySelector(embedClasses) !== null) { |
|||
if (!injectedTwitterScript) { |
|||
injectTwitterScript(); |
|||
injectedTwitterScript = true; |
|||
} |
|||
|
|||
if ( |
|||
typeof (window as any).twttr !== 'undefined' && |
|||
(window as any).twttr.widgets && |
|||
typeof (window as any).twttr.widgets.load === 'function' |
|||
) { |
|||
(window as any).twttr.widgets.load(); |
|||
} |
|||
} |
|||
}, []); |
|||
} |
Loading…
Reference in new issue