refactor(paddle): move script injection closer to checkout
This commit is contained in:
@@ -39,11 +39,19 @@ export const PaddleProvider = (
|
|||||||
React.useEffect(function loadPaddleScript() {
|
React.useEffect(function loadPaddleScript() {
|
||||||
if (!isCloud) return;
|
if (!isCloud) return;
|
||||||
|
|
||||||
|
const isInjected = document.getElementById('paddle-js');
|
||||||
|
|
||||||
|
if (isInjected) {
|
||||||
|
setLoaded(true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
const g = document.createElement('script')
|
const g = document.createElement('script')
|
||||||
const s = document.getElementsByTagName('script')[0];
|
const s = document.getElementsByTagName('script')[0];
|
||||||
g.src = 'https://cdn.paddle.com/paddle/paddle.js';
|
g.src = 'https://cdn.paddle.com/paddle/paddle.js';
|
||||||
g.defer = true;
|
g.defer = true;
|
||||||
g.async = true;
|
g.async = true;
|
||||||
|
g.id = 'paddle-js';
|
||||||
|
|
||||||
if (s.parentNode) {
|
if (s.parentNode) {
|
||||||
s.parentNode.insertBefore(g, s);
|
s.parentNode.insertBefore(g, s);
|
||||||
|
@@ -6,7 +6,6 @@ import ApolloProvider from 'components/ApolloProvider';
|
|||||||
import SnackbarProvider from 'components/SnackbarProvider';
|
import SnackbarProvider from 'components/SnackbarProvider';
|
||||||
import { AuthenticationProvider } from 'contexts/Authentication';
|
import { AuthenticationProvider } from 'contexts/Authentication';
|
||||||
import { AutomatischInfoProvider } from 'contexts/AutomatischInfo';
|
import { AutomatischInfoProvider } from 'contexts/AutomatischInfo';
|
||||||
import { PaddleProvider } from 'contexts/Paddle.ee';
|
|
||||||
import Router from 'components/Router';
|
import Router from 'components/Router';
|
||||||
import LiveChat from 'components/LiveChat/index.ee';
|
import LiveChat from 'components/LiveChat/index.ee';
|
||||||
import routes from 'routes';
|
import routes from 'routes';
|
||||||
@@ -19,13 +18,11 @@ ReactDOM.render(
|
|||||||
<ApolloProvider>
|
<ApolloProvider>
|
||||||
<AutomatischInfoProvider>
|
<AutomatischInfoProvider>
|
||||||
<IntlProvider>
|
<IntlProvider>
|
||||||
<PaddleProvider>
|
|
||||||
<ThemeProvider>
|
<ThemeProvider>
|
||||||
{routes}
|
{routes}
|
||||||
|
|
||||||
<LiveChat />
|
<LiveChat />
|
||||||
</ThemeProvider>
|
</ThemeProvider>
|
||||||
</PaddleProvider>
|
|
||||||
</IntlProvider>
|
</IntlProvider>
|
||||||
</AutomatischInfoProvider>
|
</AutomatischInfoProvider>
|
||||||
</ApolloProvider>
|
</ApolloProvider>
|
||||||
|
@@ -1,5 +1,6 @@
|
|||||||
import { Route, Navigate } from 'react-router-dom';
|
import { Route, Navigate } from 'react-router-dom';
|
||||||
import SettingsLayout from 'components/SettingsLayout';
|
import SettingsLayout from 'components/SettingsLayout';
|
||||||
|
import { PaddleProvider } from 'contexts/Paddle.ee';
|
||||||
import ProfileSettings from 'pages/ProfileSettings';
|
import ProfileSettings from 'pages/ProfileSettings';
|
||||||
import BillingAndUsageSettings from 'pages/BillingAndUsageSettings/index.ee';
|
import BillingAndUsageSettings from 'pages/BillingAndUsageSettings/index.ee';
|
||||||
import PlanUpgrade from 'pages/PlanUpgrade/index.ee';
|
import PlanUpgrade from 'pages/PlanUpgrade/index.ee';
|
||||||
@@ -30,7 +31,9 @@ export default (
|
|||||||
path={URLS.SETTINGS_PLAN_UPGRADE}
|
path={URLS.SETTINGS_PLAN_UPGRADE}
|
||||||
element={
|
element={
|
||||||
<SettingsLayout>
|
<SettingsLayout>
|
||||||
|
<PaddleProvider>
|
||||||
<PlanUpgrade />
|
<PlanUpgrade />
|
||||||
|
</PaddleProvider>
|
||||||
</SettingsLayout>
|
</SettingsLayout>
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
|
Reference in New Issue
Block a user