freeCodeCamp/client/src/utils/scriptLoaders.js
Ahmad Abdolsaheb 7db718141b
feat: add paypal script loader for one time and subscription (#38553)
* fix: add one-time payment sdk script loader

* fix: remove paypal credit
2020-04-21 00:46:34 +05:30

59 lines
1.4 KiB
JavaScript

export const scriptLoader = (id, key, async, src, onload, text) => {
let s = document.createElement('script');
s.type = 'text/javascript';
s.id = id;
s.key = key;
s.async = async;
s.onload = onload;
s.src = src;
s.text = text;
document.getElementsByTagName('head')[0].appendChild(s);
};
export const scriptRemover = id => {
let script = document.getElementById(id);
if (script) {
script.remove();
}
};
export const stripeScriptLoader = onload =>
scriptLoader(
'stripe-js',
'stripe-js',
false,
'https://js.stripe.com/v3/',
onload
);
export const servicebotScriptLoader = () =>
scriptLoader(
'servicebot-billing-settings-embed.js',
'servicebot-billing-settings-embed.js',
true,
'https://js.servicebot.io/embeds/servicebot-billing-settings-embed.js'
);
export const mathJaxScriptLoader = () =>
scriptLoader(
'mathjax',
'mathjax',
false,
'https://cdnjs.cloudflare.com/ajax/libs/mathjax/' +
'2.7.4/MathJax.js?config=TeX-AMS_HTML',
null,
`MathJax.Hub.Config({
tex2jax: {
inlineMath: [['$', '$'], ['\\\\(', '\\\\)']],
processEscapes: true,
processClass: 'rosetta-code|project-euler'
}
});
MathJax.Hub.Queue([
'Typeset',
MathJax.Hub,
document.querySelector('.rosetta-code'),
document.querySelector('.project-euler')
]);`
);