"use client";
import Script from "next/script";
import { createContext, useContext, useEffect, useState } from "react";
type PaddleContext = any;
const PaddleContext = createContext<PaddleContext>(null);
const usePaddleContext = () => {
const context = useContext(PaddleContext);
if (context === undefined) {
throw new Error("usePaddleContext was used outside of its Provider");
}
return context;
};
const PaddleProvider = ({ children }: { children: React.ReactNode }) => {
const [paddle, setPaddle] = useState(null);
return (
<PaddleContext.Provider value={paddle}>
<Script
strategy="afterInteractive"
src="https://cdn.paddle.com/paddle/v2/paddle.js"
onLoad={() => {
Paddle.Environment.set("sandbox");
Paddle.Setup({ vendor: 123123 });
setPaddle(Paddle);
}}
/>
{children}
</PaddleContext.Provider>
);
};
export { PaddleProvider, PaddleContext, usePaddleContext };
"use client";
import Script from "next/script";
import { createContext, useContext, useEffect, useState } from "react";
type PaddleContext = any;
const PaddleContext = createContext<PaddleContext>(null);
const usePaddleContext = () => {
const context = useContext(PaddleContext);
if (context === undefined) {
throw new Error("usePaddleContext was used outside of its Provider");
}
return context;
};
const PaddleProvider = ({ children }: { children: React.ReactNode }) => {
const [paddle, setPaddle] = useState(null);
return (
<PaddleContext.Provider value={paddle}>
<Script
strategy="afterInteractive"
src="https://cdn.paddle.com/paddle/v2/paddle.js"
onLoad={() => {
Paddle.Environment.set("sandbox");
Paddle.Setup({ vendor: 123123 });
setPaddle(Paddle);
}}
/>
{children}
</PaddleContext.Provider>
);
};
export { PaddleProvider, PaddleContext, usePaddleContext };