Skip to content

Commit

Permalink
fix: inject Prismic Toolbar only once
Browse files Browse the repository at this point in the history
  • Loading branch information
angeloashmore committed Dec 3, 2021
1 parent ed44fa6 commit aa14cbd
Showing 1 changed file with 18 additions and 12 deletions.
30 changes: 18 additions & 12 deletions src/PrismicToolbar.tsx
Expand Up @@ -26,19 +26,25 @@ export const PrismicToolbar = ({
repositoryName,
type = "new",
}: PrismicToolbarProps): null => {
const src = `https://static.cdn.prismic.io/prismic.js?repo=${repositoryName}${
type === "new" ? "&type=new" : ""
}`;

React.useEffect(() => {
const script = document.createElement("script");
script.src = `https://static.cdn.prismic.io/prismic.js?repositoryName=${repositoryName}${
type === "new" ? "&type=new" : ""
}`;
script.defer = true;

// Used to distinguish the toolbar element from other elements.
script.dataset.prismicToolbar = "";
script.dataset.repositoryName = repositoryName;
script.dataset.type = type;

document.body.appendChild(script);
const existingScript = document.querySelector(`script[src="${src}"]`);

if (!existingScript) {
const script = document.createElement("script");
script.src = src;
script.defer = true;

// Used to distinguish the toolbar element from other elements.
script.dataset.prismicToolbar = "";
script.dataset.repositoryName = repositoryName;
script.dataset.type = type;

document.body.appendChild(script);
}
}, [repositoryName, type]);

return null;
Expand Down

0 comments on commit aa14cbd

Please sign in to comment.