@nuxt/scripts
Version:
Load third-party scripts with better performance, privacy and DX in Nuxt Apps.
37 lines (36 loc) • 994 B
JavaScript
import { useRegistryScript } from "../utils.js";
import { object, string } from "#nuxt-scripts-validator";
export const RedditPixelOptions = object({
id: string()
});
export function useScriptRedditPixel(_options) {
return useRegistryScript("redditPixel", (options) => {
return {
scriptInput: {
src: "https://www.redditstatic.com/ads/pixel.js",
async: true
},
clientInit: import.meta.server ? void 0 : () => {
const rdt = function(...args) {
if (rdt.sendEvent) {
rdt.sendEvent(rdt, args);
} else {
rdt.callQueue.push(args);
}
};
rdt.callQueue = [];
window.rdt = rdt;
if (options?.id) {
rdt("init", options.id);
rdt("track", "PageVisit");
}
},
schema: import.meta.dev ? RedditPixelOptions : void 0,
scriptOptions: {
use() {
return { rdt: window.rdt };
}
}
};
}, _options);
}